#region License
//
// The Open Toolkit Library License
//
// Copyright (c) 2006 - 2009 the Open Toolkit library.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights to 
// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
// the Software, and to permit persons to whom the Software is furnished to do
// so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
// OTHER DEALINGS IN THE SOFTWARE.
//
#endregion

namespace OpenTK.Graphics.ES20
{
    using System;
    using System.Runtime.InteropServices;
    #pragma warning disable 3019
    #pragma warning disable 1591
    #pragma warning disable 1572
    #pragma warning disable 1573

    partial class GL
    {

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glActiveTexture")]
        public static 
        void ActiveTexture(OpenTK.Graphics.ES20.All texture)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.ActiveTexture((OpenTK.Graphics.ES20.All)texture);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glAttachShader")]
        public static 
        void AttachShader(Int32 program, Int32 shader)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.AttachShader((UInt32)program, (UInt32)shader);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glAttachShader")]
        public static 
        void AttachShader(UInt32 program, UInt32 shader)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.AttachShader((UInt32)program, (UInt32)shader);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glBindAttribLocation")]
        public static 
        void BindAttribLocation(Int32 program, Int32 index, String name)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.BindAttribLocation((UInt32)program, (UInt32)index, (String)name);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glBindAttribLocation")]
        public static 
        void BindAttribLocation(UInt32 program, UInt32 index, String name)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.BindAttribLocation((UInt32)program, (UInt32)index, (String)name);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glBindBuffer")]
        public static 
        void BindBuffer(OpenTK.Graphics.ES20.All target, Int32 buffer)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.BindBuffer((OpenTK.Graphics.ES20.All)target, (UInt32)buffer);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glBindBuffer")]
        public static 
        void BindBuffer(OpenTK.Graphics.ES20.All target, UInt32 buffer)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.BindBuffer((OpenTK.Graphics.ES20.All)target, (UInt32)buffer);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glBindFramebuffer")]
        public static 
        void BindFramebuffer(OpenTK.Graphics.ES20.All target, Int32 framebuffer)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.BindFramebuffer((OpenTK.Graphics.ES20.All)target, (UInt32)framebuffer);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glBindFramebuffer")]
        public static 
        void BindFramebuffer(OpenTK.Graphics.ES20.All target, UInt32 framebuffer)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.BindFramebuffer((OpenTK.Graphics.ES20.All)target, (UInt32)framebuffer);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glBindRenderbuffer")]
        public static 
        void BindRenderbuffer(OpenTK.Graphics.ES20.All target, Int32 renderbuffer)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.BindRenderbuffer((OpenTK.Graphics.ES20.All)target, (UInt32)renderbuffer);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glBindRenderbuffer")]
        public static 
        void BindRenderbuffer(OpenTK.Graphics.ES20.All target, UInt32 renderbuffer)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.BindRenderbuffer((OpenTK.Graphics.ES20.All)target, (UInt32)renderbuffer);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glBindTexture")]
        public static 
        void BindTexture(OpenTK.Graphics.ES20.All target, Int32 texture)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.BindTexture((OpenTK.Graphics.ES20.All)target, (UInt32)texture);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glBindTexture")]
        public static 
        void BindTexture(OpenTK.Graphics.ES20.All target, UInt32 texture)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.BindTexture((OpenTK.Graphics.ES20.All)target, (UInt32)texture);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glBlendColor")]
        public static 
        void BlendColor(Single red, Single green, Single blue, Single alpha)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.BlendColor((Single)red, (Single)green, (Single)blue, (Single)alpha);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glBlendEquation")]
        public static 
        void BlendEquation(OpenTK.Graphics.ES20.All mode)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.BlendEquation((OpenTK.Graphics.ES20.All)mode);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glBlendEquationSeparate")]
        public static 
        void BlendEquationSeparate(OpenTK.Graphics.ES20.All modeRGB, OpenTK.Graphics.ES20.All modeAlpha)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.BlendEquationSeparate((OpenTK.Graphics.ES20.All)modeRGB, (OpenTK.Graphics.ES20.All)modeAlpha);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glBlendFunc")]
        public static 
        void BlendFunc(OpenTK.Graphics.ES20.All sfactor, OpenTK.Graphics.ES20.All dfactor)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.BlendFunc((OpenTK.Graphics.ES20.All)sfactor, (OpenTK.Graphics.ES20.All)dfactor);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glBlendFuncSeparate")]
        public static 
        void BlendFuncSeparate(OpenTK.Graphics.ES20.All srcRGB, OpenTK.Graphics.ES20.All dstRGB, OpenTK.Graphics.ES20.All srcAlpha, OpenTK.Graphics.ES20.All dstAlpha)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.BlendFuncSeparate((OpenTK.Graphics.ES20.All)srcRGB, (OpenTK.Graphics.ES20.All)dstRGB, (OpenTK.Graphics.ES20.All)srcAlpha, (OpenTK.Graphics.ES20.All)dstAlpha);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glBufferData")]
        public static 
        void BufferData<T2>(OpenTK.Graphics.ES20.All target, IntPtr size, [InAttribute, OutAttribute] ref T2 data, OpenTK.Graphics.ES20.All usage)
            where T2 : struct
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
            try
            {
                Core.BufferData((OpenTK.Graphics.ES20.All)target, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject(), (OpenTK.Graphics.ES20.All)usage);
                data = (T2)data_ptr.Target;
            }
            finally
            {
                data_ptr.Free();
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glBufferData")]
        public static 
        void BufferData<T2>(OpenTK.Graphics.ES20.All target, IntPtr size, [InAttribute, OutAttribute] T2[,,] data, OpenTK.Graphics.ES20.All usage)
            where T2 : struct
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
            try
            {
                Core.BufferData((OpenTK.Graphics.ES20.All)target, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject(), (OpenTK.Graphics.ES20.All)usage);
            }
            finally
            {
                data_ptr.Free();
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glBufferData")]
        public static 
        void BufferData<T2>(OpenTK.Graphics.ES20.All target, IntPtr size, [InAttribute, OutAttribute] T2[,] data, OpenTK.Graphics.ES20.All usage)
            where T2 : struct
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
            try
            {
                Core.BufferData((OpenTK.Graphics.ES20.All)target, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject(), (OpenTK.Graphics.ES20.All)usage);
            }
            finally
            {
                data_ptr.Free();
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glBufferData")]
        public static 
        void BufferData<T2>(OpenTK.Graphics.ES20.All target, IntPtr size, [InAttribute, OutAttribute] T2[] data, OpenTK.Graphics.ES20.All usage)
            where T2 : struct
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
            try
            {
                Core.BufferData((OpenTK.Graphics.ES20.All)target, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject(), (OpenTK.Graphics.ES20.All)usage);
            }
            finally
            {
                data_ptr.Free();
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glBufferData")]
        public static 
        void BufferData(OpenTK.Graphics.ES20.All target, IntPtr size, IntPtr data, OpenTK.Graphics.ES20.All usage)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.BufferData((OpenTK.Graphics.ES20.All)target, (IntPtr)size, (IntPtr)data, (OpenTK.Graphics.ES20.All)usage);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glBufferSubData")]
        public static 
        void BufferSubData<T3>(OpenTK.Graphics.ES20.All target, IntPtr offset, IntPtr size, [InAttribute, OutAttribute] ref T3 data)
            where T3 : struct
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
            try
            {
                Core.BufferSubData((OpenTK.Graphics.ES20.All)target, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject());
                data = (T3)data_ptr.Target;
            }
            finally
            {
                data_ptr.Free();
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glBufferSubData")]
        public static 
        void BufferSubData<T3>(OpenTK.Graphics.ES20.All target, IntPtr offset, IntPtr size, [InAttribute, OutAttribute] T3[,,] data)
            where T3 : struct
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
            try
            {
                Core.BufferSubData((OpenTK.Graphics.ES20.All)target, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject());
            }
            finally
            {
                data_ptr.Free();
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glBufferSubData")]
        public static 
        void BufferSubData<T3>(OpenTK.Graphics.ES20.All target, IntPtr offset, IntPtr size, [InAttribute, OutAttribute] T3[,] data)
            where T3 : struct
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
            try
            {
                Core.BufferSubData((OpenTK.Graphics.ES20.All)target, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject());
            }
            finally
            {
                data_ptr.Free();
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glBufferSubData")]
        public static 
        void BufferSubData<T3>(OpenTK.Graphics.ES20.All target, IntPtr offset, IntPtr size, [InAttribute, OutAttribute] T3[] data)
            where T3 : struct
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
            try
            {
                Core.BufferSubData((OpenTK.Graphics.ES20.All)target, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject());
            }
            finally
            {
                data_ptr.Free();
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glBufferSubData")]
        public static 
        void BufferSubData(OpenTK.Graphics.ES20.All target, IntPtr offset, IntPtr size, IntPtr data)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.BufferSubData((OpenTK.Graphics.ES20.All)target, (IntPtr)offset, (IntPtr)size, (IntPtr)data);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glCheckFramebufferStatus")]
        public static 
        OpenTK.Graphics.ES20.All CheckFramebufferStatus(OpenTK.Graphics.ES20.All target)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            return Core.CheckFramebufferStatus((OpenTK.Graphics.ES20.All)target);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glClear")]
        public static 
        void Clear(Int32 mask)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.Clear((UInt32)mask);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glClear")]
        public static 
        void Clear(UInt32 mask)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.Clear((UInt32)mask);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glClearColor")]
        public static 
        void ClearColor(Single red, Single green, Single blue, Single alpha)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.ClearColor((Single)red, (Single)green, (Single)blue, (Single)alpha);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glClearDepthf")]
        public static 
        void ClearDepth(Single depth)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.ClearDepthf((Single)depth);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glClearStencil")]
        public static 
        void ClearStencil(Int32 s)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.ClearStencil((Int32)s);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glColorMask")]
        public static 
        void ColorMask(bool red, bool green, bool blue, bool alpha)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.ColorMask((bool)red, (bool)green, (bool)blue, (bool)alpha);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glCompileShader")]
        public static 
        void CompileShader(Int32 shader)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.CompileShader((UInt32)shader);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glCompileShader")]
        public static 
        void CompileShader(UInt32 shader)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.CompileShader((UInt32)shader);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glCompressedTexImage2D")]
        public static 
        void CompressedTexImage2D<T7>(OpenTK.Graphics.ES20.All target, Int32 level, OpenTK.Graphics.ES20.All internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, [InAttribute, OutAttribute] ref T7 data)
            where T7 : struct
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
            try
            {
                Core.CompressedTexImage2D((OpenTK.Graphics.ES20.All)target, (Int32)level, (OpenTK.Graphics.ES20.All)internalformat, (Int32)width, (Int32)height, (Int32)border, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject());
                data = (T7)data_ptr.Target;
            }
            finally
            {
                data_ptr.Free();
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glCompressedTexImage2D")]
        public static 
        void CompressedTexImage2D<T7>(OpenTK.Graphics.ES20.All target, Int32 level, OpenTK.Graphics.ES20.All internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, [InAttribute, OutAttribute] T7[,,] data)
            where T7 : struct
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
            try
            {
                Core.CompressedTexImage2D((OpenTK.Graphics.ES20.All)target, (Int32)level, (OpenTK.Graphics.ES20.All)internalformat, (Int32)width, (Int32)height, (Int32)border, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject());
            }
            finally
            {
                data_ptr.Free();
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glCompressedTexImage2D")]
        public static 
        void CompressedTexImage2D<T7>(OpenTK.Graphics.ES20.All target, Int32 level, OpenTK.Graphics.ES20.All internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, [InAttribute, OutAttribute] T7[,] data)
            where T7 : struct
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
            try
            {
                Core.CompressedTexImage2D((OpenTK.Graphics.ES20.All)target, (Int32)level, (OpenTK.Graphics.ES20.All)internalformat, (Int32)width, (Int32)height, (Int32)border, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject());
            }
            finally
            {
                data_ptr.Free();
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glCompressedTexImage2D")]
        public static 
        void CompressedTexImage2D<T7>(OpenTK.Graphics.ES20.All target, Int32 level, OpenTK.Graphics.ES20.All internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, [InAttribute, OutAttribute] T7[] data)
            where T7 : struct
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
            try
            {
                Core.CompressedTexImage2D((OpenTK.Graphics.ES20.All)target, (Int32)level, (OpenTK.Graphics.ES20.All)internalformat, (Int32)width, (Int32)height, (Int32)border, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject());
            }
            finally
            {
                data_ptr.Free();
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glCompressedTexImage2D")]
        public static 
        void CompressedTexImage2D(OpenTK.Graphics.ES20.All target, Int32 level, OpenTK.Graphics.ES20.All internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, IntPtr data)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.CompressedTexImage2D((OpenTK.Graphics.ES20.All)target, (Int32)level, (OpenTK.Graphics.ES20.All)internalformat, (Int32)width, (Int32)height, (Int32)border, (Int32)imageSize, (IntPtr)data);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glCompressedTexSubImage2D")]
        public static 
        void CompressedTexSubImage2D<T8>(OpenTK.Graphics.ES20.All target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, OpenTK.Graphics.ES20.All format, Int32 imageSize, [InAttribute, OutAttribute] ref T8 data)
            where T8 : struct
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
            try
            {
                Core.CompressedTexSubImage2D((OpenTK.Graphics.ES20.All)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (OpenTK.Graphics.ES20.All)format, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject());
                data = (T8)data_ptr.Target;
            }
            finally
            {
                data_ptr.Free();
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glCompressedTexSubImage2D")]
        public static 
        void CompressedTexSubImage2D<T8>(OpenTK.Graphics.ES20.All target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, OpenTK.Graphics.ES20.All format, Int32 imageSize, [InAttribute, OutAttribute] T8[,,] data)
            where T8 : struct
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
            try
            {
                Core.CompressedTexSubImage2D((OpenTK.Graphics.ES20.All)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (OpenTK.Graphics.ES20.All)format, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject());
            }
            finally
            {
                data_ptr.Free();
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glCompressedTexSubImage2D")]
        public static 
        void CompressedTexSubImage2D<T8>(OpenTK.Graphics.ES20.All target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, OpenTK.Graphics.ES20.All format, Int32 imageSize, [InAttribute, OutAttribute] T8[,] data)
            where T8 : struct
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
            try
            {
                Core.CompressedTexSubImage2D((OpenTK.Graphics.ES20.All)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (OpenTK.Graphics.ES20.All)format, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject());
            }
            finally
            {
                data_ptr.Free();
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glCompressedTexSubImage2D")]
        public static 
        void CompressedTexSubImage2D<T8>(OpenTK.Graphics.ES20.All target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, OpenTK.Graphics.ES20.All format, Int32 imageSize, [InAttribute, OutAttribute] T8[] data)
            where T8 : struct
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
            try
            {
                Core.CompressedTexSubImage2D((OpenTK.Graphics.ES20.All)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (OpenTK.Graphics.ES20.All)format, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject());
            }
            finally
            {
                data_ptr.Free();
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glCompressedTexSubImage2D")]
        public static 
        void CompressedTexSubImage2D(OpenTK.Graphics.ES20.All target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, OpenTK.Graphics.ES20.All format, Int32 imageSize, IntPtr data)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.CompressedTexSubImage2D((OpenTK.Graphics.ES20.All)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (OpenTK.Graphics.ES20.All)format, (Int32)imageSize, (IntPtr)data);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glCopyTexImage2D")]
        public static 
        void CopyTexImage2D(OpenTK.Graphics.ES20.All target, Int32 level, OpenTK.Graphics.ES20.All internalformat, Int32 x, Int32 y, Int32 width, Int32 height, Int32 border)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.CopyTexImage2D((OpenTK.Graphics.ES20.All)target, (Int32)level, (OpenTK.Graphics.ES20.All)internalformat, (Int32)x, (Int32)y, (Int32)width, (Int32)height, (Int32)border);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glCopyTexSubImage2D")]
        public static 
        void CopyTexSubImage2D(OpenTK.Graphics.ES20.All target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 x, Int32 y, Int32 width, Int32 height)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.CopyTexSubImage2D((OpenTK.Graphics.ES20.All)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)x, (Int32)y, (Int32)width, (Int32)height);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glCreateProgram")]
        public static 
        Int32 CreateProgram()
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            return Core.CreateProgram();
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glCreateShader")]
        public static 
        Int32 CreateShader(OpenTK.Graphics.ES20.All type)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            return Core.CreateShader((OpenTK.Graphics.ES20.All)type);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glCullFace")]
        public static 
        void CullFace(OpenTK.Graphics.ES20.All mode)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.CullFace((OpenTK.Graphics.ES20.All)mode);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glDeleteBuffers")]
        public static 
        unsafe void DeleteBuffers(Int32 n, Int32* buffers)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.DeleteBuffers((Int32)n, (UInt32*)buffers);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glDeleteBuffers")]
        public static 
        void DeleteBuffers(Int32 n, Int32[] buffers)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* buffers_ptr = buffers)
                {
                    Core.DeleteBuffers((Int32)n, (UInt32*)buffers_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glDeleteBuffers")]
        public static 
        void DeleteBuffers(Int32 n, ref Int32 buffers)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* buffers_ptr = &buffers)
                {
                    Core.DeleteBuffers((Int32)n, (UInt32*)buffers_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glDeleteBuffers")]
        public static 
        void DeleteBuffers(Int32 n, ref UInt32 buffers)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (UInt32* buffers_ptr = &buffers)
                {
                    Core.DeleteBuffers((Int32)n, (UInt32*)buffers_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glDeleteBuffers")]
        public static 
        unsafe void DeleteBuffers(Int32 n, UInt32* buffers)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.DeleteBuffers((Int32)n, (UInt32*)buffers);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glDeleteBuffers")]
        public static 
        void DeleteBuffers(Int32 n, UInt32[] buffers)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (UInt32* buffers_ptr = buffers)
                {
                    Core.DeleteBuffers((Int32)n, (UInt32*)buffers_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glDeleteFramebuffers")]
        public static 
        unsafe void DeleteFramebuffers(Int32 n, Int32* framebuffers)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.DeleteFramebuffers((Int32)n, (UInt32*)framebuffers);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glDeleteFramebuffers")]
        public static 
        void DeleteFramebuffers(Int32 n, Int32[] framebuffers)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* framebuffers_ptr = framebuffers)
                {
                    Core.DeleteFramebuffers((Int32)n, (UInt32*)framebuffers_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glDeleteFramebuffers")]
        public static 
        void DeleteFramebuffers(Int32 n, ref Int32 framebuffers)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* framebuffers_ptr = &framebuffers)
                {
                    Core.DeleteFramebuffers((Int32)n, (UInt32*)framebuffers_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glDeleteFramebuffers")]
        public static 
        void DeleteFramebuffers(Int32 n, ref UInt32 framebuffers)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (UInt32* framebuffers_ptr = &framebuffers)
                {
                    Core.DeleteFramebuffers((Int32)n, (UInt32*)framebuffers_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glDeleteFramebuffers")]
        public static 
        unsafe void DeleteFramebuffers(Int32 n, UInt32* framebuffers)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.DeleteFramebuffers((Int32)n, (UInt32*)framebuffers);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glDeleteFramebuffers")]
        public static 
        void DeleteFramebuffers(Int32 n, UInt32[] framebuffers)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (UInt32* framebuffers_ptr = framebuffers)
                {
                    Core.DeleteFramebuffers((Int32)n, (UInt32*)framebuffers_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glDeleteProgram")]
        public static 
        void DeleteProgram(Int32 program)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.DeleteProgram((UInt32)program);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glDeleteProgram")]
        public static 
        void DeleteProgram(UInt32 program)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.DeleteProgram((UInt32)program);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glDeleteRenderbuffers")]
        public static 
        unsafe void DeleteRenderbuffers(Int32 n, Int32* renderbuffers)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.DeleteRenderbuffers((Int32)n, (UInt32*)renderbuffers);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glDeleteRenderbuffers")]
        public static 
        void DeleteRenderbuffers(Int32 n, Int32[] renderbuffers)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* renderbuffers_ptr = renderbuffers)
                {
                    Core.DeleteRenderbuffers((Int32)n, (UInt32*)renderbuffers_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glDeleteRenderbuffers")]
        public static 
        void DeleteRenderbuffers(Int32 n, ref Int32 renderbuffers)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* renderbuffers_ptr = &renderbuffers)
                {
                    Core.DeleteRenderbuffers((Int32)n, (UInt32*)renderbuffers_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glDeleteRenderbuffers")]
        public static 
        void DeleteRenderbuffers(Int32 n, ref UInt32 renderbuffers)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (UInt32* renderbuffers_ptr = &renderbuffers)
                {
                    Core.DeleteRenderbuffers((Int32)n, (UInt32*)renderbuffers_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glDeleteRenderbuffers")]
        public static 
        unsafe void DeleteRenderbuffers(Int32 n, UInt32* renderbuffers)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.DeleteRenderbuffers((Int32)n, (UInt32*)renderbuffers);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glDeleteRenderbuffers")]
        public static 
        void DeleteRenderbuffers(Int32 n, UInt32[] renderbuffers)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (UInt32* renderbuffers_ptr = renderbuffers)
                {
                    Core.DeleteRenderbuffers((Int32)n, (UInt32*)renderbuffers_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glDeleteShader")]
        public static 
        void DeleteShader(Int32 shader)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.DeleteShader((UInt32)shader);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glDeleteShader")]
        public static 
        void DeleteShader(UInt32 shader)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.DeleteShader((UInt32)shader);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glDeleteTextures")]
        public static 
        unsafe void DeleteTextures(Int32 n, Int32* textures)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.DeleteTextures((Int32)n, (UInt32*)textures);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glDeleteTextures")]
        public static 
        void DeleteTextures(Int32 n, Int32[] textures)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* textures_ptr = textures)
                {
                    Core.DeleteTextures((Int32)n, (UInt32*)textures_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glDeleteTextures")]
        public static 
        void DeleteTextures(Int32 n, ref Int32 textures)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* textures_ptr = &textures)
                {
                    Core.DeleteTextures((Int32)n, (UInt32*)textures_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glDeleteTextures")]
        public static 
        void DeleteTextures(Int32 n, ref UInt32 textures)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (UInt32* textures_ptr = &textures)
                {
                    Core.DeleteTextures((Int32)n, (UInt32*)textures_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glDeleteTextures")]
        public static 
        unsafe void DeleteTextures(Int32 n, UInt32* textures)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.DeleteTextures((Int32)n, (UInt32*)textures);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glDeleteTextures")]
        public static 
        void DeleteTextures(Int32 n, UInt32[] textures)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (UInt32* textures_ptr = textures)
                {
                    Core.DeleteTextures((Int32)n, (UInt32*)textures_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glDepthFunc")]
        public static 
        void DepthFunc(OpenTK.Graphics.ES20.All func)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.DepthFunc((OpenTK.Graphics.ES20.All)func);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glDepthMask")]
        public static 
        void DepthMask(bool flag)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.DepthMask((bool)flag);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glDepthRangef")]
        public static 
        void DepthRange(Single zNear, Single zFar)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.DepthRangef((Single)zNear, (Single)zFar);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glDetachShader")]
        public static 
        void DetachShader(Int32 program, Int32 shader)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.DetachShader((UInt32)program, (UInt32)shader);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glDetachShader")]
        public static 
        void DetachShader(UInt32 program, UInt32 shader)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.DetachShader((UInt32)program, (UInt32)shader);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glDisable")]
        public static 
        void Disable(OpenTK.Graphics.ES20.All cap)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.Disable((OpenTK.Graphics.ES20.All)cap);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glDisableVertexAttribArray")]
        public static 
        void DisableVertexAttribArray(Int32 index)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.DisableVertexAttribArray((UInt32)index);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glDisableVertexAttribArray")]
        public static 
        void DisableVertexAttribArray(UInt32 index)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.DisableVertexAttribArray((UInt32)index);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glDrawArrays")]
        public static 
        void DrawArrays(OpenTK.Graphics.ES20.All mode, Int32 first, Int32 count)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.DrawArrays((OpenTK.Graphics.ES20.All)mode, (Int32)first, (Int32)count);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glDrawElements")]
        public static 
        void DrawElements<T3>(OpenTK.Graphics.ES20.All mode, Int32 count, OpenTK.Graphics.ES20.All type, [InAttribute, OutAttribute] ref T3 indices)
            where T3 : struct
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
            try
            {
                Core.DrawElements((OpenTK.Graphics.ES20.All)mode, (Int32)count, (OpenTK.Graphics.ES20.All)type, (IntPtr)indices_ptr.AddrOfPinnedObject());
                indices = (T3)indices_ptr.Target;
            }
            finally
            {
                indices_ptr.Free();
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glDrawElements")]
        public static 
        void DrawElements<T3>(OpenTK.Graphics.ES20.All mode, Int32 count, OpenTK.Graphics.ES20.All type, [InAttribute, OutAttribute] T3[,,] indices)
            where T3 : struct
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
            try
            {
                Core.DrawElements((OpenTK.Graphics.ES20.All)mode, (Int32)count, (OpenTK.Graphics.ES20.All)type, (IntPtr)indices_ptr.AddrOfPinnedObject());
            }
            finally
            {
                indices_ptr.Free();
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glDrawElements")]
        public static 
        void DrawElements<T3>(OpenTK.Graphics.ES20.All mode, Int32 count, OpenTK.Graphics.ES20.All type, [InAttribute, OutAttribute] T3[,] indices)
            where T3 : struct
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
            try
            {
                Core.DrawElements((OpenTK.Graphics.ES20.All)mode, (Int32)count, (OpenTK.Graphics.ES20.All)type, (IntPtr)indices_ptr.AddrOfPinnedObject());
            }
            finally
            {
                indices_ptr.Free();
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glDrawElements")]
        public static 
        void DrawElements<T3>(OpenTK.Graphics.ES20.All mode, Int32 count, OpenTK.Graphics.ES20.All type, [InAttribute, OutAttribute] T3[] indices)
            where T3 : struct
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
            try
            {
                Core.DrawElements((OpenTK.Graphics.ES20.All)mode, (Int32)count, (OpenTK.Graphics.ES20.All)type, (IntPtr)indices_ptr.AddrOfPinnedObject());
            }
            finally
            {
                indices_ptr.Free();
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glDrawElements")]
        public static 
        void DrawElements(OpenTK.Graphics.ES20.All mode, Int32 count, OpenTK.Graphics.ES20.All type, IntPtr indices)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.DrawElements((OpenTK.Graphics.ES20.All)mode, (Int32)count, (OpenTK.Graphics.ES20.All)type, (IntPtr)indices);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glEnable")]
        public static 
        void Enable(OpenTK.Graphics.ES20.All cap)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.Enable((OpenTK.Graphics.ES20.All)cap);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glEnableVertexAttribArray")]
        public static 
        void EnableVertexAttribArray(Int32 index)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.EnableVertexAttribArray((UInt32)index);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glEnableVertexAttribArray")]
        public static 
        void EnableVertexAttribArray(UInt32 index)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.EnableVertexAttribArray((UInt32)index);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glFinish")]
        public static 
        void Finish()
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.Finish();
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glFlush")]
        public static 
        void Flush()
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.Flush();
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glFramebufferRenderbuffer")]
        public static 
        void FramebufferRenderbuffer(OpenTK.Graphics.ES20.All target, OpenTK.Graphics.ES20.All attachment, OpenTK.Graphics.ES20.All renderbuffertarget, Int32 renderbuffer)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.FramebufferRenderbuffer((OpenTK.Graphics.ES20.All)target, (OpenTK.Graphics.ES20.All)attachment, (OpenTK.Graphics.ES20.All)renderbuffertarget, (UInt32)renderbuffer);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glFramebufferRenderbuffer")]
        public static 
        void FramebufferRenderbuffer(OpenTK.Graphics.ES20.All target, OpenTK.Graphics.ES20.All attachment, OpenTK.Graphics.ES20.All renderbuffertarget, UInt32 renderbuffer)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.FramebufferRenderbuffer((OpenTK.Graphics.ES20.All)target, (OpenTK.Graphics.ES20.All)attachment, (OpenTK.Graphics.ES20.All)renderbuffertarget, (UInt32)renderbuffer);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glFramebufferTexture2D")]
        public static 
        void FramebufferTexture2D(OpenTK.Graphics.ES20.All target, OpenTK.Graphics.ES20.All attachment, OpenTK.Graphics.ES20.All textarget, Int32 texture, Int32 level)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.FramebufferTexture2D((OpenTK.Graphics.ES20.All)target, (OpenTK.Graphics.ES20.All)attachment, (OpenTK.Graphics.ES20.All)textarget, (UInt32)texture, (Int32)level);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glFramebufferTexture2D")]
        public static 
        void FramebufferTexture2D(OpenTK.Graphics.ES20.All target, OpenTK.Graphics.ES20.All attachment, OpenTK.Graphics.ES20.All textarget, UInt32 texture, Int32 level)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.FramebufferTexture2D((OpenTK.Graphics.ES20.All)target, (OpenTK.Graphics.ES20.All)attachment, (OpenTK.Graphics.ES20.All)textarget, (UInt32)texture, (Int32)level);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glFrontFace")]
        public static 
        void FrontFace(OpenTK.Graphics.ES20.All mode)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.FrontFace((OpenTK.Graphics.ES20.All)mode);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGenBuffers")]
        public static 
        unsafe void GenBuffers(Int32 n, Int32* buffers)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.GenBuffers((Int32)n, (UInt32*)buffers);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGenBuffers")]
        public static 
        void GenBuffers(Int32 n, Int32[] buffers)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* buffers_ptr = buffers)
                {
                    Core.GenBuffers((Int32)n, (UInt32*)buffers_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGenBuffers")]
        public static 
        void GenBuffers(Int32 n, ref Int32 buffers)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* buffers_ptr = &buffers)
                {
                    Core.GenBuffers((Int32)n, (UInt32*)buffers_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGenBuffers")]
        public static 
        void GenBuffers(Int32 n, ref UInt32 buffers)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (UInt32* buffers_ptr = &buffers)
                {
                    Core.GenBuffers((Int32)n, (UInt32*)buffers_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGenBuffers")]
        public static 
        unsafe void GenBuffers(Int32 n, UInt32* buffers)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.GenBuffers((Int32)n, (UInt32*)buffers);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGenBuffers")]
        public static 
        void GenBuffers(Int32 n, UInt32[] buffers)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (UInt32* buffers_ptr = buffers)
                {
                    Core.GenBuffers((Int32)n, (UInt32*)buffers_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGenerateMipmap")]
        public static 
        void GenerateMipmap(OpenTK.Graphics.ES20.All target)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.GenerateMipmap((OpenTK.Graphics.ES20.All)target);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGenFramebuffers")]
        public static 
        unsafe void GenFramebuffers(Int32 n, Int32* framebuffers)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.GenFramebuffers((Int32)n, (UInt32*)framebuffers);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGenFramebuffers")]
        public static 
        void GenFramebuffers(Int32 n, Int32[] framebuffers)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* framebuffers_ptr = framebuffers)
                {
                    Core.GenFramebuffers((Int32)n, (UInt32*)framebuffers_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGenFramebuffers")]
        public static 
        void GenFramebuffers(Int32 n, ref Int32 framebuffers)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* framebuffers_ptr = &framebuffers)
                {
                    Core.GenFramebuffers((Int32)n, (UInt32*)framebuffers_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGenFramebuffers")]
        public static 
        void GenFramebuffers(Int32 n, ref UInt32 framebuffers)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (UInt32* framebuffers_ptr = &framebuffers)
                {
                    Core.GenFramebuffers((Int32)n, (UInt32*)framebuffers_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGenFramebuffers")]
        public static 
        unsafe void GenFramebuffers(Int32 n, UInt32* framebuffers)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.GenFramebuffers((Int32)n, (UInt32*)framebuffers);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGenFramebuffers")]
        public static 
        void GenFramebuffers(Int32 n, UInt32[] framebuffers)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (UInt32* framebuffers_ptr = framebuffers)
                {
                    Core.GenFramebuffers((Int32)n, (UInt32*)framebuffers_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGenRenderbuffers")]
        public static 
        unsafe void GenRenderbuffers(Int32 n, Int32* renderbuffers)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.GenRenderbuffers((Int32)n, (UInt32*)renderbuffers);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGenRenderbuffers")]
        public static 
        void GenRenderbuffers(Int32 n, Int32[] renderbuffers)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* renderbuffers_ptr = renderbuffers)
                {
                    Core.GenRenderbuffers((Int32)n, (UInt32*)renderbuffers_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGenRenderbuffers")]
        public static 
        void GenRenderbuffers(Int32 n, ref Int32 renderbuffers)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* renderbuffers_ptr = &renderbuffers)
                {
                    Core.GenRenderbuffers((Int32)n, (UInt32*)renderbuffers_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGenRenderbuffers")]
        public static 
        void GenRenderbuffers(Int32 n, ref UInt32 renderbuffers)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (UInt32* renderbuffers_ptr = &renderbuffers)
                {
                    Core.GenRenderbuffers((Int32)n, (UInt32*)renderbuffers_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGenRenderbuffers")]
        public static 
        unsafe void GenRenderbuffers(Int32 n, UInt32* renderbuffers)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.GenRenderbuffers((Int32)n, (UInt32*)renderbuffers);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGenRenderbuffers")]
        public static 
        void GenRenderbuffers(Int32 n, UInt32[] renderbuffers)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (UInt32* renderbuffers_ptr = renderbuffers)
                {
                    Core.GenRenderbuffers((Int32)n, (UInt32*)renderbuffers_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGenTextures")]
        public static 
        unsafe void GenTextures(Int32 n, Int32* textures)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.GenTextures((Int32)n, (UInt32*)textures);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGenTextures")]
        public static 
        void GenTextures(Int32 n, Int32[] textures)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* textures_ptr = textures)
                {
                    Core.GenTextures((Int32)n, (UInt32*)textures_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGenTextures")]
        public static 
        void GenTextures(Int32 n, ref Int32 textures)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* textures_ptr = &textures)
                {
                    Core.GenTextures((Int32)n, (UInt32*)textures_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGenTextures")]
        public static 
        void GenTextures(Int32 n, ref UInt32 textures)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (UInt32* textures_ptr = &textures)
                {
                    Core.GenTextures((Int32)n, (UInt32*)textures_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGenTextures")]
        public static 
        unsafe void GenTextures(Int32 n, UInt32* textures)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.GenTextures((Int32)n, (UInt32*)textures);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGenTextures")]
        public static 
        void GenTextures(Int32 n, UInt32[] textures)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (UInt32* textures_ptr = textures)
                {
                    Core.GenTextures((Int32)n, (UInt32*)textures_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetActiveAttrib")]
        public static 
        unsafe void GetActiveAttrib(Int32 program, Int32 index, Int32 bufsize, Int32* length, Int32* size, OpenTK.Graphics.ES20.All* type, String name)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.GetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufsize, (Int32*)length, (Int32*)size, (OpenTK.Graphics.ES20.All*)type, (String)name);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetActiveAttrib")]
        public static 
        void GetActiveAttrib(Int32 program, Int32 index, Int32 bufsize, Int32[] length, Int32[] size, OpenTK.Graphics.ES20.All[] type, String name)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* length_ptr = length)
                fixed (Int32* size_ptr = size)
                fixed (OpenTK.Graphics.ES20.All* type_ptr = type)
                {
                    Core.GetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufsize, (Int32*)length_ptr, (Int32*)size_ptr, (OpenTK.Graphics.ES20.All*)type_ptr, (String)name);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetActiveAttrib")]
        public static 
        void GetActiveAttrib(Int32 program, Int32 index, Int32 bufsize, ref Int32 length, ref Int32 size, ref OpenTK.Graphics.ES20.All type, String name)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* length_ptr = &length)
                fixed (Int32* size_ptr = &size)
                fixed (OpenTK.Graphics.ES20.All* type_ptr = &type)
                {
                    Core.GetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufsize, (Int32*)length_ptr, (Int32*)size_ptr, (OpenTK.Graphics.ES20.All*)type_ptr, (String)name);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetActiveAttrib")]
        public static 
        unsafe void GetActiveAttrib(UInt32 program, UInt32 index, Int32 bufsize, Int32* length, Int32* size, OpenTK.Graphics.ES20.All* type, String name)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.GetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufsize, (Int32*)length, (Int32*)size, (OpenTK.Graphics.ES20.All*)type, (String)name);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetActiveAttrib")]
        public static 
        void GetActiveAttrib(UInt32 program, UInt32 index, Int32 bufsize, Int32[] length, Int32[] size, OpenTK.Graphics.ES20.All[] type, String name)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* length_ptr = length)
                fixed (Int32* size_ptr = size)
                fixed (OpenTK.Graphics.ES20.All* type_ptr = type)
                {
                    Core.GetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufsize, (Int32*)length_ptr, (Int32*)size_ptr, (OpenTK.Graphics.ES20.All*)type_ptr, (String)name);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetActiveAttrib")]
        public static 
        void GetActiveAttrib(UInt32 program, UInt32 index, Int32 bufsize, ref Int32 length, ref Int32 size, ref OpenTK.Graphics.ES20.All type, String name)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* length_ptr = &length)
                fixed (Int32* size_ptr = &size)
                fixed (OpenTK.Graphics.ES20.All* type_ptr = &type)
                {
                    Core.GetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufsize, (Int32*)length_ptr, (Int32*)size_ptr, (OpenTK.Graphics.ES20.All*)type_ptr, (String)name);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetActiveUniform")]
        public static 
        unsafe void GetActiveUniform(Int32 program, Int32 index, Int32 bufsize, Int32* length, Int32* size, OpenTK.Graphics.ES20.All* type, String name)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.GetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufsize, (Int32*)length, (Int32*)size, (OpenTK.Graphics.ES20.All*)type, (String)name);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetActiveUniform")]
        public static 
        void GetActiveUniform(Int32 program, Int32 index, Int32 bufsize, Int32[] length, Int32[] size, OpenTK.Graphics.ES20.All[] type, String name)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* length_ptr = length)
                fixed (Int32* size_ptr = size)
                fixed (OpenTK.Graphics.ES20.All* type_ptr = type)
                {
                    Core.GetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufsize, (Int32*)length_ptr, (Int32*)size_ptr, (OpenTK.Graphics.ES20.All*)type_ptr, (String)name);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetActiveUniform")]
        public static 
        void GetActiveUniform(Int32 program, Int32 index, Int32 bufsize, ref Int32 length, ref Int32 size, ref OpenTK.Graphics.ES20.All type, String name)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* length_ptr = &length)
                fixed (Int32* size_ptr = &size)
                fixed (OpenTK.Graphics.ES20.All* type_ptr = &type)
                {
                    Core.GetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufsize, (Int32*)length_ptr, (Int32*)size_ptr, (OpenTK.Graphics.ES20.All*)type_ptr, (String)name);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetActiveUniform")]
        public static 
        unsafe void GetActiveUniform(UInt32 program, UInt32 index, Int32 bufsize, Int32* length, Int32* size, OpenTK.Graphics.ES20.All* type, String name)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.GetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufsize, (Int32*)length, (Int32*)size, (OpenTK.Graphics.ES20.All*)type, (String)name);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetActiveUniform")]
        public static 
        void GetActiveUniform(UInt32 program, UInt32 index, Int32 bufsize, Int32[] length, Int32[] size, OpenTK.Graphics.ES20.All[] type, String name)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* length_ptr = length)
                fixed (Int32* size_ptr = size)
                fixed (OpenTK.Graphics.ES20.All* type_ptr = type)
                {
                    Core.GetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufsize, (Int32*)length_ptr, (Int32*)size_ptr, (OpenTK.Graphics.ES20.All*)type_ptr, (String)name);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetActiveUniform")]
        public static 
        void GetActiveUniform(UInt32 program, UInt32 index, Int32 bufsize, ref Int32 length, ref Int32 size, ref OpenTK.Graphics.ES20.All type, String name)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* length_ptr = &length)
                fixed (Int32* size_ptr = &size)
                fixed (OpenTK.Graphics.ES20.All* type_ptr = &type)
                {
                    Core.GetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufsize, (Int32*)length_ptr, (Int32*)size_ptr, (OpenTK.Graphics.ES20.All*)type_ptr, (String)name);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetAttachedShaders")]
        public static 
        unsafe void GetAttachedShaders(Int32 program, Int32 maxcount, Int32* count, Int32* shaders)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.GetAttachedShaders((UInt32)program, (Int32)maxcount, (Int32*)count, (UInt32*)shaders);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetAttachedShaders")]
        public static 
        void GetAttachedShaders(Int32 program, Int32 maxcount, Int32[] count, Int32[] shaders)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* count_ptr = count)
                fixed (Int32* shaders_ptr = shaders)
                {
                    Core.GetAttachedShaders((UInt32)program, (Int32)maxcount, (Int32*)count_ptr, (UInt32*)shaders_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetAttachedShaders")]
        public static 
        void GetAttachedShaders(Int32 program, Int32 maxcount, ref Int32 count, ref Int32 shaders)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* count_ptr = &count)
                fixed (Int32* shaders_ptr = &shaders)
                {
                    Core.GetAttachedShaders((UInt32)program, (Int32)maxcount, (Int32*)count_ptr, (UInt32*)shaders_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetAttachedShaders")]
        public static 
        unsafe void GetAttachedShaders(UInt32 program, Int32 maxcount, Int32* count, UInt32* shaders)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.GetAttachedShaders((UInt32)program, (Int32)maxcount, (Int32*)count, (UInt32*)shaders);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetAttachedShaders")]
        public static 
        void GetAttachedShaders(UInt32 program, Int32 maxcount, Int32[] count, UInt32[] shaders)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* count_ptr = count)
                fixed (UInt32* shaders_ptr = shaders)
                {
                    Core.GetAttachedShaders((UInt32)program, (Int32)maxcount, (Int32*)count_ptr, (UInt32*)shaders_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetAttachedShaders")]
        public static 
        void GetAttachedShaders(UInt32 program, Int32 maxcount, ref Int32 count, ref UInt32 shaders)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* count_ptr = &count)
                fixed (UInt32* shaders_ptr = &shaders)
                {
                    Core.GetAttachedShaders((UInt32)program, (Int32)maxcount, (Int32*)count_ptr, (UInt32*)shaders_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetAttribLocation")]
        public static 
        int GetAttribLocation(Int32 program, String name)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            return Core.GetAttribLocation((UInt32)program, (String)name);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetAttribLocation")]
        public static 
        int GetAttribLocation(UInt32 program, String name)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            return Core.GetAttribLocation((UInt32)program, (String)name);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetBooleanv")]
        public static 
        unsafe void GetBoolean(OpenTK.Graphics.ES20.All pname, bool* @params)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.GetBooleanv((OpenTK.Graphics.ES20.All)pname, (bool*)@params);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetBooleanv")]
        public static 
        void GetBoolean(OpenTK.Graphics.ES20.All pname, bool[] @params)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (bool* @params_ptr = @params)
                {
                    Core.GetBooleanv((OpenTK.Graphics.ES20.All)pname, (bool*)@params_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetBooleanv")]
        public static 
        void GetBoolean(OpenTK.Graphics.ES20.All pname, ref bool @params)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (bool* @params_ptr = &@params)
                {
                    Core.GetBooleanv((OpenTK.Graphics.ES20.All)pname, (bool*)@params_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetBufferParameteriv")]
        public static 
        unsafe void GetBufferParameter(OpenTK.Graphics.ES20.All target, OpenTK.Graphics.ES20.All pname, Int32* @params)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.GetBufferParameteriv((OpenTK.Graphics.ES20.All)target, (OpenTK.Graphics.ES20.All)pname, (Int32*)@params);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetBufferParameteriv")]
        public static 
        void GetBufferParameter(OpenTK.Graphics.ES20.All target, OpenTK.Graphics.ES20.All pname, Int32[] @params)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* @params_ptr = @params)
                {
                    Core.GetBufferParameteriv((OpenTK.Graphics.ES20.All)target, (OpenTK.Graphics.ES20.All)pname, (Int32*)@params_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetBufferParameteriv")]
        public static 
        void GetBufferParameter(OpenTK.Graphics.ES20.All target, OpenTK.Graphics.ES20.All pname, ref Int32 @params)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* @params_ptr = &@params)
                {
                    Core.GetBufferParameteriv((OpenTK.Graphics.ES20.All)target, (OpenTK.Graphics.ES20.All)pname, (Int32*)@params_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetError")]
        public static 
        OpenTK.Graphics.ES20.All GetError()
        {
            return Core.GetError();
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetFloatv")]
        public static 
        void GetFloat(OpenTK.Graphics.ES20.All pname, ref Single @params)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Single* @params_ptr = &@params)
                {
                    Core.GetFloatv((OpenTK.Graphics.ES20.All)pname, (Single*)@params_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetFloatv")]
        public static 
        unsafe void GetFloat(OpenTK.Graphics.ES20.All pname, Single* @params)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.GetFloatv((OpenTK.Graphics.ES20.All)pname, (Single*)@params);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetFloatv")]
        public static 
        void GetFloat(OpenTK.Graphics.ES20.All pname, Single[] @params)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Single* @params_ptr = @params)
                {
                    Core.GetFloatv((OpenTK.Graphics.ES20.All)pname, (Single*)@params_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetFramebufferAttachmentParameteriv")]
        public static 
        unsafe void GetFramebufferAttachmentParameter(OpenTK.Graphics.ES20.All target, OpenTK.Graphics.ES20.All attachment, OpenTK.Graphics.ES20.All pname, Int32* @params)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.GetFramebufferAttachmentParameteriv((OpenTK.Graphics.ES20.All)target, (OpenTK.Graphics.ES20.All)attachment, (OpenTK.Graphics.ES20.All)pname, (Int32*)@params);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetFramebufferAttachmentParameteriv")]
        public static 
        void GetFramebufferAttachmentParameter(OpenTK.Graphics.ES20.All target, OpenTK.Graphics.ES20.All attachment, OpenTK.Graphics.ES20.All pname, Int32[] @params)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* @params_ptr = @params)
                {
                    Core.GetFramebufferAttachmentParameteriv((OpenTK.Graphics.ES20.All)target, (OpenTK.Graphics.ES20.All)attachment, (OpenTK.Graphics.ES20.All)pname, (Int32*)@params_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetFramebufferAttachmentParameteriv")]
        public static 
        void GetFramebufferAttachmentParameter(OpenTK.Graphics.ES20.All target, OpenTK.Graphics.ES20.All attachment, OpenTK.Graphics.ES20.All pname, ref Int32 @params)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* @params_ptr = &@params)
                {
                    Core.GetFramebufferAttachmentParameteriv((OpenTK.Graphics.ES20.All)target, (OpenTK.Graphics.ES20.All)attachment, (OpenTK.Graphics.ES20.All)pname, (Int32*)@params_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetIntegerv")]
        public static 
        unsafe void GetInteger(OpenTK.Graphics.ES20.All pname, Int32* @params)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.GetIntegerv((OpenTK.Graphics.ES20.All)pname, (Int32*)@params);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetIntegerv")]
        public static 
        void GetInteger(OpenTK.Graphics.ES20.All pname, Int32[] @params)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* @params_ptr = @params)
                {
                    Core.GetIntegerv((OpenTK.Graphics.ES20.All)pname, (Int32*)@params_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetIntegerv")]
        public static 
        void GetInteger(OpenTK.Graphics.ES20.All pname, ref Int32 @params)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* @params_ptr = &@params)
                {
                    Core.GetIntegerv((OpenTK.Graphics.ES20.All)pname, (Int32*)@params_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetProgramInfoLog")]
        public static 
        unsafe void GetProgramInfoLog(Int32 program, Int32 bufsize, Int32* length, [OutAttribute] System.Text.StringBuilder infolog)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.GetProgramInfoLog((UInt32)program, (Int32)bufsize, (Int32*)length, (System.Text.StringBuilder)infolog);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetProgramInfoLog")]
        public static 
        void GetProgramInfoLog(Int32 program, Int32 bufsize, Int32[] length, [OutAttribute] System.Text.StringBuilder infolog)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* length_ptr = length)
                {
                    Core.GetProgramInfoLog((UInt32)program, (Int32)bufsize, (Int32*)length_ptr, (System.Text.StringBuilder)infolog);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetProgramInfoLog")]
        public static 
        void GetProgramInfoLog(Int32 program, Int32 bufsize, ref Int32 length, [OutAttribute] System.Text.StringBuilder infolog)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* length_ptr = &length)
                {
                    Core.GetProgramInfoLog((UInt32)program, (Int32)bufsize, (Int32*)length_ptr, (System.Text.StringBuilder)infolog);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetProgramInfoLog")]
        public static 
        unsafe void GetProgramInfoLog(UInt32 program, Int32 bufsize, Int32* length, [OutAttribute] System.Text.StringBuilder infolog)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.GetProgramInfoLog((UInt32)program, (Int32)bufsize, (Int32*)length, (System.Text.StringBuilder)infolog);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetProgramInfoLog")]
        public static 
        void GetProgramInfoLog(UInt32 program, Int32 bufsize, Int32[] length, [OutAttribute] System.Text.StringBuilder infolog)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* length_ptr = length)
                {
                    Core.GetProgramInfoLog((UInt32)program, (Int32)bufsize, (Int32*)length_ptr, (System.Text.StringBuilder)infolog);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetProgramInfoLog")]
        public static 
        void GetProgramInfoLog(UInt32 program, Int32 bufsize, ref Int32 length, [OutAttribute] System.Text.StringBuilder infolog)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* length_ptr = &length)
                {
                    Core.GetProgramInfoLog((UInt32)program, (Int32)bufsize, (Int32*)length_ptr, (System.Text.StringBuilder)infolog);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetProgramiv")]
        public static 
        unsafe void GetProgram(Int32 program, OpenTK.Graphics.ES20.All pname, Int32* @params)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.GetProgramiv((UInt32)program, (OpenTK.Graphics.ES20.All)pname, (Int32*)@params);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetProgramiv")]
        public static 
        void GetProgram(Int32 program, OpenTK.Graphics.ES20.All pname, Int32[] @params)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* @params_ptr = @params)
                {
                    Core.GetProgramiv((UInt32)program, (OpenTK.Graphics.ES20.All)pname, (Int32*)@params_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetProgramiv")]
        public static 
        void GetProgram(Int32 program, OpenTK.Graphics.ES20.All pname, ref Int32 @params)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* @params_ptr = &@params)
                {
                    Core.GetProgramiv((UInt32)program, (OpenTK.Graphics.ES20.All)pname, (Int32*)@params_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetProgramiv")]
        public static 
        unsafe void GetProgram(UInt32 program, OpenTK.Graphics.ES20.All pname, Int32* @params)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.GetProgramiv((UInt32)program, (OpenTK.Graphics.ES20.All)pname, (Int32*)@params);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetProgramiv")]
        public static 
        void GetProgram(UInt32 program, OpenTK.Graphics.ES20.All pname, Int32[] @params)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* @params_ptr = @params)
                {
                    Core.GetProgramiv((UInt32)program, (OpenTK.Graphics.ES20.All)pname, (Int32*)@params_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetProgramiv")]
        public static 
        void GetProgram(UInt32 program, OpenTK.Graphics.ES20.All pname, ref Int32 @params)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* @params_ptr = &@params)
                {
                    Core.GetProgramiv((UInt32)program, (OpenTK.Graphics.ES20.All)pname, (Int32*)@params_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetRenderbufferParameteriv")]
        public static 
        unsafe void GetRenderbufferParameter(OpenTK.Graphics.ES20.All target, OpenTK.Graphics.ES20.All pname, Int32* @params)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.GetRenderbufferParameteriv((OpenTK.Graphics.ES20.All)target, (OpenTK.Graphics.ES20.All)pname, (Int32*)@params);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetRenderbufferParameteriv")]
        public static 
        void GetRenderbufferParameter(OpenTK.Graphics.ES20.All target, OpenTK.Graphics.ES20.All pname, Int32[] @params)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* @params_ptr = @params)
                {
                    Core.GetRenderbufferParameteriv((OpenTK.Graphics.ES20.All)target, (OpenTK.Graphics.ES20.All)pname, (Int32*)@params_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetRenderbufferParameteriv")]
        public static 
        void GetRenderbufferParameter(OpenTK.Graphics.ES20.All target, OpenTK.Graphics.ES20.All pname, ref Int32 @params)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* @params_ptr = &@params)
                {
                    Core.GetRenderbufferParameteriv((OpenTK.Graphics.ES20.All)target, (OpenTK.Graphics.ES20.All)pname, (Int32*)@params_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetShaderInfoLog")]
        public static 
        unsafe void GetShaderInfoLog(Int32 shader, Int32 bufsize, Int32* length, [OutAttribute] System.Text.StringBuilder infolog)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.GetShaderInfoLog((UInt32)shader, (Int32)bufsize, (Int32*)length, (System.Text.StringBuilder)infolog);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetShaderInfoLog")]
        public static 
        void GetShaderInfoLog(Int32 shader, Int32 bufsize, Int32[] length, [OutAttribute] System.Text.StringBuilder infolog)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* length_ptr = length)
                {
                    Core.GetShaderInfoLog((UInt32)shader, (Int32)bufsize, (Int32*)length_ptr, (System.Text.StringBuilder)infolog);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetShaderInfoLog")]
        public static 
        void GetShaderInfoLog(Int32 shader, Int32 bufsize, ref Int32 length, [OutAttribute] System.Text.StringBuilder infolog)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* length_ptr = &length)
                {
                    Core.GetShaderInfoLog((UInt32)shader, (Int32)bufsize, (Int32*)length_ptr, (System.Text.StringBuilder)infolog);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetShaderInfoLog")]
        public static 
        unsafe void GetShaderInfoLog(UInt32 shader, Int32 bufsize, Int32* length, [OutAttribute] System.Text.StringBuilder infolog)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.GetShaderInfoLog((UInt32)shader, (Int32)bufsize, (Int32*)length, (System.Text.StringBuilder)infolog);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetShaderInfoLog")]
        public static 
        void GetShaderInfoLog(UInt32 shader, Int32 bufsize, Int32[] length, [OutAttribute] System.Text.StringBuilder infolog)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* length_ptr = length)
                {
                    Core.GetShaderInfoLog((UInt32)shader, (Int32)bufsize, (Int32*)length_ptr, (System.Text.StringBuilder)infolog);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetShaderInfoLog")]
        public static 
        void GetShaderInfoLog(UInt32 shader, Int32 bufsize, ref Int32 length, [OutAttribute] System.Text.StringBuilder infolog)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* length_ptr = &length)
                {
                    Core.GetShaderInfoLog((UInt32)shader, (Int32)bufsize, (Int32*)length_ptr, (System.Text.StringBuilder)infolog);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetShaderiv")]
        public static 
        unsafe void GetShader(Int32 shader, OpenTK.Graphics.ES20.All pname, Int32* @params)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.GetShaderiv((UInt32)shader, (OpenTK.Graphics.ES20.All)pname, (Int32*)@params);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetShaderiv")]
        public static 
        void GetShader(Int32 shader, OpenTK.Graphics.ES20.All pname, Int32[] @params)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* @params_ptr = @params)
                {
                    Core.GetShaderiv((UInt32)shader, (OpenTK.Graphics.ES20.All)pname, (Int32*)@params_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetShaderiv")]
        public static 
        void GetShader(Int32 shader, OpenTK.Graphics.ES20.All pname, ref Int32 @params)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* @params_ptr = &@params)
                {
                    Core.GetShaderiv((UInt32)shader, (OpenTK.Graphics.ES20.All)pname, (Int32*)@params_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetShaderiv")]
        public static 
        unsafe void GetShader(UInt32 shader, OpenTK.Graphics.ES20.All pname, Int32* @params)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.GetShaderiv((UInt32)shader, (OpenTK.Graphics.ES20.All)pname, (Int32*)@params);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetShaderiv")]
        public static 
        void GetShader(UInt32 shader, OpenTK.Graphics.ES20.All pname, Int32[] @params)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* @params_ptr = @params)
                {
                    Core.GetShaderiv((UInt32)shader, (OpenTK.Graphics.ES20.All)pname, (Int32*)@params_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetShaderiv")]
        public static 
        void GetShader(UInt32 shader, OpenTK.Graphics.ES20.All pname, ref Int32 @params)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* @params_ptr = &@params)
                {
                    Core.GetShaderiv((UInt32)shader, (OpenTK.Graphics.ES20.All)pname, (Int32*)@params_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetShaderPrecisionFormat")]
        public static 
        unsafe void GetShaderPrecisionFormat(OpenTK.Graphics.ES20.All shadertype, OpenTK.Graphics.ES20.All precisiontype, Int32* range, Int32* precision)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.GetShaderPrecisionFormat((OpenTK.Graphics.ES20.All)shadertype, (OpenTK.Graphics.ES20.All)precisiontype, (Int32*)range, (Int32*)precision);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetShaderPrecisionFormat")]
        public static 
        void GetShaderPrecisionFormat(OpenTK.Graphics.ES20.All shadertype, OpenTK.Graphics.ES20.All precisiontype, Int32[] range, Int32[] precision)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* range_ptr = range)
                fixed (Int32* precision_ptr = precision)
                {
                    Core.GetShaderPrecisionFormat((OpenTK.Graphics.ES20.All)shadertype, (OpenTK.Graphics.ES20.All)precisiontype, (Int32*)range_ptr, (Int32*)precision_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetShaderPrecisionFormat")]
        public static 
        void GetShaderPrecisionFormat(OpenTK.Graphics.ES20.All shadertype, OpenTK.Graphics.ES20.All precisiontype, ref Int32 range, ref Int32 precision)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* range_ptr = &range)
                fixed (Int32* precision_ptr = &precision)
                {
                    Core.GetShaderPrecisionFormat((OpenTK.Graphics.ES20.All)shadertype, (OpenTK.Graphics.ES20.All)precisiontype, (Int32*)range_ptr, (Int32*)precision_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetShaderSource")]
        public static 
        unsafe void GetShaderSource(Int32 shader, Int32 bufsize, Int32* length, [OutAttribute] System.Text.StringBuilder source)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.GetShaderSource((UInt32)shader, (Int32)bufsize, (Int32*)length, (System.Text.StringBuilder)source);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetShaderSource")]
        public static 
        void GetShaderSource(Int32 shader, Int32 bufsize, Int32[] length, [OutAttribute] System.Text.StringBuilder source)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* length_ptr = length)
                {
                    Core.GetShaderSource((UInt32)shader, (Int32)bufsize, (Int32*)length_ptr, (System.Text.StringBuilder)source);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetShaderSource")]
        public static 
        void GetShaderSource(Int32 shader, Int32 bufsize, ref Int32 length, [OutAttribute] System.Text.StringBuilder source)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* length_ptr = &length)
                {
                    Core.GetShaderSource((UInt32)shader, (Int32)bufsize, (Int32*)length_ptr, (System.Text.StringBuilder)source);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetShaderSource")]
        public static 
        unsafe void GetShaderSource(UInt32 shader, Int32 bufsize, Int32* length, [OutAttribute] System.Text.StringBuilder source)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.GetShaderSource((UInt32)shader, (Int32)bufsize, (Int32*)length, (System.Text.StringBuilder)source);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetShaderSource")]
        public static 
        void GetShaderSource(UInt32 shader, Int32 bufsize, Int32[] length, [OutAttribute] System.Text.StringBuilder source)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* length_ptr = length)
                {
                    Core.GetShaderSource((UInt32)shader, (Int32)bufsize, (Int32*)length_ptr, (System.Text.StringBuilder)source);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetShaderSource")]
        public static 
        void GetShaderSource(UInt32 shader, Int32 bufsize, ref Int32 length, [OutAttribute] System.Text.StringBuilder source)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* length_ptr = &length)
                {
                    Core.GetShaderSource((UInt32)shader, (Int32)bufsize, (Int32*)length_ptr, (System.Text.StringBuilder)source);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetString")]
        public static 
        unsafe string GetString(OpenTK.Graphics.ES20.All name)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            return System.Runtime.InteropServices.Marshal.PtrToStringAnsi(Core.GetString((OpenTK.Graphics.ES20.All)name));
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetTexParameterfv")]
        public static 
        void GetTexParameter(OpenTK.Graphics.ES20.All target, OpenTK.Graphics.ES20.All pname, ref Single @params)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Single* @params_ptr = &@params)
                {
                    Core.GetTexParameterfv((OpenTK.Graphics.ES20.All)target, (OpenTK.Graphics.ES20.All)pname, (Single*)@params_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetTexParameterfv")]
        public static 
        unsafe void GetTexParameter(OpenTK.Graphics.ES20.All target, OpenTK.Graphics.ES20.All pname, Single* @params)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.GetTexParameterfv((OpenTK.Graphics.ES20.All)target, (OpenTK.Graphics.ES20.All)pname, (Single*)@params);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetTexParameterfv")]
        public static 
        void GetTexParameter(OpenTK.Graphics.ES20.All target, OpenTK.Graphics.ES20.All pname, Single[] @params)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Single* @params_ptr = @params)
                {
                    Core.GetTexParameterfv((OpenTK.Graphics.ES20.All)target, (OpenTK.Graphics.ES20.All)pname, (Single*)@params_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetTexParameteriv")]
        public static 
        unsafe void GetTexParameter(OpenTK.Graphics.ES20.All target, OpenTK.Graphics.ES20.All pname, Int32* @params)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.GetTexParameteriv((OpenTK.Graphics.ES20.All)target, (OpenTK.Graphics.ES20.All)pname, (Int32*)@params);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetTexParameteriv")]
        public static 
        void GetTexParameter(OpenTK.Graphics.ES20.All target, OpenTK.Graphics.ES20.All pname, Int32[] @params)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* @params_ptr = @params)
                {
                    Core.GetTexParameteriv((OpenTK.Graphics.ES20.All)target, (OpenTK.Graphics.ES20.All)pname, (Int32*)@params_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetTexParameteriv")]
        public static 
        void GetTexParameter(OpenTK.Graphics.ES20.All target, OpenTK.Graphics.ES20.All pname, ref Int32 @params)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* @params_ptr = &@params)
                {
                    Core.GetTexParameteriv((OpenTK.Graphics.ES20.All)target, (OpenTK.Graphics.ES20.All)pname, (Int32*)@params_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetUniformfv")]
        public static 
        void GetUniform(Int32 program, Int32 location, ref Single @params)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Single* @params_ptr = &@params)
                {
                    Core.GetUniformfv((UInt32)program, (Int32)location, (Single*)@params_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetUniformfv")]
        public static 
        unsafe void GetUniform(Int32 program, Int32 location, Single* @params)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.GetUniformfv((UInt32)program, (Int32)location, (Single*)@params);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetUniformfv")]
        public static 
        void GetUniform(Int32 program, Int32 location, Single[] @params)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Single* @params_ptr = @params)
                {
                    Core.GetUniformfv((UInt32)program, (Int32)location, (Single*)@params_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetUniformfv")]
        public static 
        void GetUniform(UInt32 program, Int32 location, ref Single @params)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Single* @params_ptr = &@params)
                {
                    Core.GetUniformfv((UInt32)program, (Int32)location, (Single*)@params_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetUniformfv")]
        public static 
        unsafe void GetUniform(UInt32 program, Int32 location, Single* @params)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.GetUniformfv((UInt32)program, (Int32)location, (Single*)@params);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetUniformfv")]
        public static 
        void GetUniform(UInt32 program, Int32 location, Single[] @params)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Single* @params_ptr = @params)
                {
                    Core.GetUniformfv((UInt32)program, (Int32)location, (Single*)@params_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetUniformiv")]
        public static 
        unsafe void GetUniform(Int32 program, Int32 location, Int32* @params)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.GetUniformiv((UInt32)program, (Int32)location, (Int32*)@params);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetUniformiv")]
        public static 
        void GetUniform(Int32 program, Int32 location, Int32[] @params)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* @params_ptr = @params)
                {
                    Core.GetUniformiv((UInt32)program, (Int32)location, (Int32*)@params_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetUniformiv")]
        public static 
        void GetUniform(Int32 program, Int32 location, ref Int32 @params)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* @params_ptr = &@params)
                {
                    Core.GetUniformiv((UInt32)program, (Int32)location, (Int32*)@params_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetUniformiv")]
        public static 
        unsafe void GetUniform(UInt32 program, Int32 location, Int32* @params)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.GetUniformiv((UInt32)program, (Int32)location, (Int32*)@params);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetUniformiv")]
        public static 
        void GetUniform(UInt32 program, Int32 location, Int32[] @params)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* @params_ptr = @params)
                {
                    Core.GetUniformiv((UInt32)program, (Int32)location, (Int32*)@params_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetUniformiv")]
        public static 
        void GetUniform(UInt32 program, Int32 location, ref Int32 @params)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* @params_ptr = &@params)
                {
                    Core.GetUniformiv((UInt32)program, (Int32)location, (Int32*)@params_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetUniformLocation")]
        public static 
        int GetUniformLocation(Int32 program, String name)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            return Core.GetUniformLocation((UInt32)program, (String)name);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetUniformLocation")]
        public static 
        int GetUniformLocation(UInt32 program, String name)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            return Core.GetUniformLocation((UInt32)program, (String)name);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetVertexAttribfv")]
        public static 
        void GetVertexAttrib(Int32 index, OpenTK.Graphics.ES20.All pname, ref Single @params)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Single* @params_ptr = &@params)
                {
                    Core.GetVertexAttribfv((UInt32)index, (OpenTK.Graphics.ES20.All)pname, (Single*)@params_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetVertexAttribfv")]
        public static 
        unsafe void GetVertexAttrib(Int32 index, OpenTK.Graphics.ES20.All pname, Single* @params)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.GetVertexAttribfv((UInt32)index, (OpenTK.Graphics.ES20.All)pname, (Single*)@params);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetVertexAttribfv")]
        public static 
        void GetVertexAttrib(Int32 index, OpenTK.Graphics.ES20.All pname, Single[] @params)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Single* @params_ptr = @params)
                {
                    Core.GetVertexAttribfv((UInt32)index, (OpenTK.Graphics.ES20.All)pname, (Single*)@params_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetVertexAttribfv")]
        public static 
        void GetVertexAttrib(UInt32 index, OpenTK.Graphics.ES20.All pname, ref Single @params)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Single* @params_ptr = &@params)
                {
                    Core.GetVertexAttribfv((UInt32)index, (OpenTK.Graphics.ES20.All)pname, (Single*)@params_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetVertexAttribfv")]
        public static 
        unsafe void GetVertexAttrib(UInt32 index, OpenTK.Graphics.ES20.All pname, Single* @params)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.GetVertexAttribfv((UInt32)index, (OpenTK.Graphics.ES20.All)pname, (Single*)@params);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetVertexAttribfv")]
        public static 
        void GetVertexAttrib(UInt32 index, OpenTK.Graphics.ES20.All pname, Single[] @params)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Single* @params_ptr = @params)
                {
                    Core.GetVertexAttribfv((UInt32)index, (OpenTK.Graphics.ES20.All)pname, (Single*)@params_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetVertexAttribiv")]
        public static 
        unsafe void GetVertexAttrib(Int32 index, OpenTK.Graphics.ES20.All pname, Int32* @params)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.GetVertexAttribiv((UInt32)index, (OpenTK.Graphics.ES20.All)pname, (Int32*)@params);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetVertexAttribiv")]
        public static 
        void GetVertexAttrib(Int32 index, OpenTK.Graphics.ES20.All pname, Int32[] @params)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* @params_ptr = @params)
                {
                    Core.GetVertexAttribiv((UInt32)index, (OpenTK.Graphics.ES20.All)pname, (Int32*)@params_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetVertexAttribiv")]
        public static 
        void GetVertexAttrib(Int32 index, OpenTK.Graphics.ES20.All pname, ref Int32 @params)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* @params_ptr = &@params)
                {
                    Core.GetVertexAttribiv((UInt32)index, (OpenTK.Graphics.ES20.All)pname, (Int32*)@params_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetVertexAttribiv")]
        public static 
        unsafe void GetVertexAttrib(UInt32 index, OpenTK.Graphics.ES20.All pname, Int32* @params)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.GetVertexAttribiv((UInt32)index, (OpenTK.Graphics.ES20.All)pname, (Int32*)@params);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetVertexAttribiv")]
        public static 
        void GetVertexAttrib(UInt32 index, OpenTK.Graphics.ES20.All pname, Int32[] @params)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* @params_ptr = @params)
                {
                    Core.GetVertexAttribiv((UInt32)index, (OpenTK.Graphics.ES20.All)pname, (Int32*)@params_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetVertexAttribiv")]
        public static 
        void GetVertexAttrib(UInt32 index, OpenTK.Graphics.ES20.All pname, ref Int32 @params)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* @params_ptr = &@params)
                {
                    Core.GetVertexAttribiv((UInt32)index, (OpenTK.Graphics.ES20.All)pname, (Int32*)@params_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetVertexAttribPointerv")]
        public static 
        void GetVertexAttribPointer<T2>(Int32 index, OpenTK.Graphics.ES20.All pname, [InAttribute, OutAttribute] ref T2 pointer)
            where T2 : struct
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
            try
            {
                Core.GetVertexAttribPointerv((UInt32)index, (OpenTK.Graphics.ES20.All)pname, (IntPtr)pointer_ptr.AddrOfPinnedObject());
                pointer = (T2)pointer_ptr.Target;
            }
            finally
            {
                pointer_ptr.Free();
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetVertexAttribPointerv")]
        public static 
        void GetVertexAttribPointer<T2>(Int32 index, OpenTK.Graphics.ES20.All pname, [InAttribute, OutAttribute] T2[,,] pointer)
            where T2 : struct
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
            try
            {
                Core.GetVertexAttribPointerv((UInt32)index, (OpenTK.Graphics.ES20.All)pname, (IntPtr)pointer_ptr.AddrOfPinnedObject());
            }
            finally
            {
                pointer_ptr.Free();
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetVertexAttribPointerv")]
        public static 
        void GetVertexAttribPointer<T2>(Int32 index, OpenTK.Graphics.ES20.All pname, [InAttribute, OutAttribute] T2[,] pointer)
            where T2 : struct
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
            try
            {
                Core.GetVertexAttribPointerv((UInt32)index, (OpenTK.Graphics.ES20.All)pname, (IntPtr)pointer_ptr.AddrOfPinnedObject());
            }
            finally
            {
                pointer_ptr.Free();
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetVertexAttribPointerv")]
        public static 
        void GetVertexAttribPointer<T2>(Int32 index, OpenTK.Graphics.ES20.All pname, [InAttribute, OutAttribute] T2[] pointer)
            where T2 : struct
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
            try
            {
                Core.GetVertexAttribPointerv((UInt32)index, (OpenTK.Graphics.ES20.All)pname, (IntPtr)pointer_ptr.AddrOfPinnedObject());
            }
            finally
            {
                pointer_ptr.Free();
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetVertexAttribPointerv")]
        public static 
        void GetVertexAttribPointer(Int32 index, OpenTK.Graphics.ES20.All pname, IntPtr pointer)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.GetVertexAttribPointerv((UInt32)index, (OpenTK.Graphics.ES20.All)pname, (IntPtr)pointer);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetVertexAttribPointerv")]
        public static 
        void GetVertexAttribPointer<T2>(UInt32 index, OpenTK.Graphics.ES20.All pname, [InAttribute, OutAttribute] ref T2 pointer)
            where T2 : struct
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
            try
            {
                Core.GetVertexAttribPointerv((UInt32)index, (OpenTK.Graphics.ES20.All)pname, (IntPtr)pointer_ptr.AddrOfPinnedObject());
                pointer = (T2)pointer_ptr.Target;
            }
            finally
            {
                pointer_ptr.Free();
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetVertexAttribPointerv")]
        public static 
        void GetVertexAttribPointer<T2>(UInt32 index, OpenTK.Graphics.ES20.All pname, [InAttribute, OutAttribute] T2[,,] pointer)
            where T2 : struct
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
            try
            {
                Core.GetVertexAttribPointerv((UInt32)index, (OpenTK.Graphics.ES20.All)pname, (IntPtr)pointer_ptr.AddrOfPinnedObject());
            }
            finally
            {
                pointer_ptr.Free();
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetVertexAttribPointerv")]
        public static 
        void GetVertexAttribPointer<T2>(UInt32 index, OpenTK.Graphics.ES20.All pname, [InAttribute, OutAttribute] T2[,] pointer)
            where T2 : struct
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
            try
            {
                Core.GetVertexAttribPointerv((UInt32)index, (OpenTK.Graphics.ES20.All)pname, (IntPtr)pointer_ptr.AddrOfPinnedObject());
            }
            finally
            {
                pointer_ptr.Free();
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetVertexAttribPointerv")]
        public static 
        void GetVertexAttribPointer<T2>(UInt32 index, OpenTK.Graphics.ES20.All pname, [InAttribute, OutAttribute] T2[] pointer)
            where T2 : struct
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
            try
            {
                Core.GetVertexAttribPointerv((UInt32)index, (OpenTK.Graphics.ES20.All)pname, (IntPtr)pointer_ptr.AddrOfPinnedObject());
            }
            finally
            {
                pointer_ptr.Free();
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetVertexAttribPointerv")]
        public static 
        void GetVertexAttribPointer(UInt32 index, OpenTK.Graphics.ES20.All pname, IntPtr pointer)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.GetVertexAttribPointerv((UInt32)index, (OpenTK.Graphics.ES20.All)pname, (IntPtr)pointer);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glHint")]
        public static 
        void Hint(OpenTK.Graphics.ES20.All target, OpenTK.Graphics.ES20.All mode)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.Hint((OpenTK.Graphics.ES20.All)target, (OpenTK.Graphics.ES20.All)mode);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glIsBuffer")]
        public static 
        bool IsBuffer(Int32 buffer)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            return Core.IsBuffer((UInt32)buffer);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glIsBuffer")]
        public static 
        bool IsBuffer(UInt32 buffer)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            return Core.IsBuffer((UInt32)buffer);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glIsEnabled")]
        public static 
        bool IsEnabled(OpenTK.Graphics.ES20.All cap)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            return Core.IsEnabled((OpenTK.Graphics.ES20.All)cap);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glIsFramebuffer")]
        public static 
        bool IsFramebuffer(Int32 framebuffer)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            return Core.IsFramebuffer((UInt32)framebuffer);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glIsFramebuffer")]
        public static 
        bool IsFramebuffer(UInt32 framebuffer)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            return Core.IsFramebuffer((UInt32)framebuffer);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glIsProgram")]
        public static 
        bool IsProgram(Int32 program)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            return Core.IsProgram((UInt32)program);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glIsProgram")]
        public static 
        bool IsProgram(UInt32 program)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            return Core.IsProgram((UInt32)program);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glIsRenderbuffer")]
        public static 
        bool IsRenderbuffer(Int32 renderbuffer)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            return Core.IsRenderbuffer((UInt32)renderbuffer);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glIsRenderbuffer")]
        public static 
        bool IsRenderbuffer(UInt32 renderbuffer)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            return Core.IsRenderbuffer((UInt32)renderbuffer);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glIsShader")]
        public static 
        bool IsShader(Int32 shader)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            return Core.IsShader((UInt32)shader);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glIsShader")]
        public static 
        bool IsShader(UInt32 shader)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            return Core.IsShader((UInt32)shader);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glIsTexture")]
        public static 
        bool IsTexture(Int32 texture)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            return Core.IsTexture((UInt32)texture);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glIsTexture")]
        public static 
        bool IsTexture(UInt32 texture)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            return Core.IsTexture((UInt32)texture);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glLineWidth")]
        public static 
        void LineWidth(Single width)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.LineWidth((Single)width);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glLinkProgram")]
        public static 
        void LinkProgram(Int32 program)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.LinkProgram((UInt32)program);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glLinkProgram")]
        public static 
        void LinkProgram(UInt32 program)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.LinkProgram((UInt32)program);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glPixelStorei")]
        public static 
        void PixelStore(OpenTK.Graphics.ES20.All pname, Int32 param)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.PixelStorei((OpenTK.Graphics.ES20.All)pname, (Int32)param);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glPolygonOffset")]
        public static 
        void PolygonOffset(Single factor, Single units)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.PolygonOffset((Single)factor, (Single)units);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glReadPixels")]
        public static 
        void ReadPixels<T6>(Int32 x, Int32 y, Int32 width, Int32 height, OpenTK.Graphics.ES20.All format, OpenTK.Graphics.ES20.All type, [InAttribute, OutAttribute] ref T6 pixels)
            where T6 : struct
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
            try
            {
                Core.ReadPixels((Int32)x, (Int32)y, (Int32)width, (Int32)height, (OpenTK.Graphics.ES20.All)format, (OpenTK.Graphics.ES20.All)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
                pixels = (T6)pixels_ptr.Target;
            }
            finally
            {
                pixels_ptr.Free();
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glReadPixels")]
        public static 
        void ReadPixels<T6>(Int32 x, Int32 y, Int32 width, Int32 height, OpenTK.Graphics.ES20.All format, OpenTK.Graphics.ES20.All type, [InAttribute, OutAttribute] T6[,,] pixels)
            where T6 : struct
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
            try
            {
                Core.ReadPixels((Int32)x, (Int32)y, (Int32)width, (Int32)height, (OpenTK.Graphics.ES20.All)format, (OpenTK.Graphics.ES20.All)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
            }
            finally
            {
                pixels_ptr.Free();
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glReadPixels")]
        public static 
        void ReadPixels<T6>(Int32 x, Int32 y, Int32 width, Int32 height, OpenTK.Graphics.ES20.All format, OpenTK.Graphics.ES20.All type, [InAttribute, OutAttribute] T6[,] pixels)
            where T6 : struct
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
            try
            {
                Core.ReadPixels((Int32)x, (Int32)y, (Int32)width, (Int32)height, (OpenTK.Graphics.ES20.All)format, (OpenTK.Graphics.ES20.All)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
            }
            finally
            {
                pixels_ptr.Free();
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glReadPixels")]
        public static 
        void ReadPixels<T6>(Int32 x, Int32 y, Int32 width, Int32 height, OpenTK.Graphics.ES20.All format, OpenTK.Graphics.ES20.All type, [InAttribute, OutAttribute] T6[] pixels)
            where T6 : struct
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
            try
            {
                Core.ReadPixels((Int32)x, (Int32)y, (Int32)width, (Int32)height, (OpenTK.Graphics.ES20.All)format, (OpenTK.Graphics.ES20.All)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
            }
            finally
            {
                pixels_ptr.Free();
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glReadPixels")]
        public static 
        void ReadPixels(Int32 x, Int32 y, Int32 width, Int32 height, OpenTK.Graphics.ES20.All format, OpenTK.Graphics.ES20.All type, IntPtr pixels)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.ReadPixels((Int32)x, (Int32)y, (Int32)width, (Int32)height, (OpenTK.Graphics.ES20.All)format, (OpenTK.Graphics.ES20.All)type, (IntPtr)pixels);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glReleaseShaderCompiler")]
        public static 
        void ReleaseShaderCompiler()
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.ReleaseShaderCompiler();
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glRenderbufferStorage")]
        public static 
        void RenderbufferStorage(OpenTK.Graphics.ES20.All target, OpenTK.Graphics.ES20.All internalformat, Int32 width, Int32 height)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.RenderbufferStorage((OpenTK.Graphics.ES20.All)target, (OpenTK.Graphics.ES20.All)internalformat, (Int32)width, (Int32)height);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glSampleCoverage")]
        public static 
        void SampleCoverage(Single value, bool invert)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.SampleCoverage((Single)value, (bool)invert);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glScissor")]
        public static 
        void Scissor(Int32 x, Int32 y, Int32 width, Int32 height)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.Scissor((Int32)x, (Int32)y, (Int32)width, (Int32)height);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glShaderBinary")]
        public static 
        unsafe void ShaderBinary<T3>(Int32 n, Int32* shaders, OpenTK.Graphics.ES20.All binaryformat, [InAttribute, OutAttribute] ref T3 binary, Int32 length)
            where T3 : struct
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            GCHandle binary_ptr = GCHandle.Alloc(binary, GCHandleType.Pinned);
            try
            {
                Core.ShaderBinary((Int32)n, (UInt32*)shaders, (OpenTK.Graphics.ES20.All)binaryformat, (IntPtr)binary_ptr.AddrOfPinnedObject(), (Int32)length);
                binary = (T3)binary_ptr.Target;
            }
            finally
            {
                binary_ptr.Free();
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glShaderBinary")]
        public static 
        unsafe void ShaderBinary<T3>(Int32 n, Int32* shaders, OpenTK.Graphics.ES20.All binaryformat, [InAttribute, OutAttribute] T3[,,] binary, Int32 length)
            where T3 : struct
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            GCHandle binary_ptr = GCHandle.Alloc(binary, GCHandleType.Pinned);
            try
            {
                Core.ShaderBinary((Int32)n, (UInt32*)shaders, (OpenTK.Graphics.ES20.All)binaryformat, (IntPtr)binary_ptr.AddrOfPinnedObject(), (Int32)length);
            }
            finally
            {
                binary_ptr.Free();
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glShaderBinary")]
        public static 
        unsafe void ShaderBinary<T3>(Int32 n, Int32* shaders, OpenTK.Graphics.ES20.All binaryformat, [InAttribute, OutAttribute] T3[,] binary, Int32 length)
            where T3 : struct
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            GCHandle binary_ptr = GCHandle.Alloc(binary, GCHandleType.Pinned);
            try
            {
                Core.ShaderBinary((Int32)n, (UInt32*)shaders, (OpenTK.Graphics.ES20.All)binaryformat, (IntPtr)binary_ptr.AddrOfPinnedObject(), (Int32)length);
            }
            finally
            {
                binary_ptr.Free();
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glShaderBinary")]
        public static 
        unsafe void ShaderBinary<T3>(Int32 n, Int32* shaders, OpenTK.Graphics.ES20.All binaryformat, [InAttribute, OutAttribute] T3[] binary, Int32 length)
            where T3 : struct
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            GCHandle binary_ptr = GCHandle.Alloc(binary, GCHandleType.Pinned);
            try
            {
                Core.ShaderBinary((Int32)n, (UInt32*)shaders, (OpenTK.Graphics.ES20.All)binaryformat, (IntPtr)binary_ptr.AddrOfPinnedObject(), (Int32)length);
            }
            finally
            {
                binary_ptr.Free();
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glShaderBinary")]
        public static 
        unsafe void ShaderBinary(Int32 n, Int32* shaders, OpenTK.Graphics.ES20.All binaryformat, IntPtr binary, Int32 length)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.ShaderBinary((Int32)n, (UInt32*)shaders, (OpenTK.Graphics.ES20.All)binaryformat, (IntPtr)binary, (Int32)length);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glShaderBinary")]
        public static 
        void ShaderBinary<T3>(Int32 n, Int32[] shaders, OpenTK.Graphics.ES20.All binaryformat, [InAttribute, OutAttribute] ref T3 binary, Int32 length)
            where T3 : struct
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* shaders_ptr = shaders)
                {
                    GCHandle binary_ptr = GCHandle.Alloc(binary, GCHandleType.Pinned);
                    try
                    {
                        Core.ShaderBinary((Int32)n, (UInt32*)shaders_ptr, (OpenTK.Graphics.ES20.All)binaryformat, (IntPtr)binary_ptr.AddrOfPinnedObject(), (Int32)length);
                        binary = (T3)binary_ptr.Target;
                    }
                    finally
                    {
                        binary_ptr.Free();
                    }
                }
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glShaderBinary")]
        public static 
        void ShaderBinary<T3>(Int32 n, Int32[] shaders, OpenTK.Graphics.ES20.All binaryformat, [InAttribute, OutAttribute] T3[,,] binary, Int32 length)
            where T3 : struct
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* shaders_ptr = shaders)
                {
                    GCHandle binary_ptr = GCHandle.Alloc(binary, GCHandleType.Pinned);
                    try
                    {
                        Core.ShaderBinary((Int32)n, (UInt32*)shaders_ptr, (OpenTK.Graphics.ES20.All)binaryformat, (IntPtr)binary_ptr.AddrOfPinnedObject(), (Int32)length);
                    }
                    finally
                    {
                        binary_ptr.Free();
                    }
                }
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glShaderBinary")]
        public static 
        void ShaderBinary<T3>(Int32 n, Int32[] shaders, OpenTK.Graphics.ES20.All binaryformat, [InAttribute, OutAttribute] T3[,] binary, Int32 length)
            where T3 : struct
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* shaders_ptr = shaders)
                {
                    GCHandle binary_ptr = GCHandle.Alloc(binary, GCHandleType.Pinned);
                    try
                    {
                        Core.ShaderBinary((Int32)n, (UInt32*)shaders_ptr, (OpenTK.Graphics.ES20.All)binaryformat, (IntPtr)binary_ptr.AddrOfPinnedObject(), (Int32)length);
                    }
                    finally
                    {
                        binary_ptr.Free();
                    }
                }
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glShaderBinary")]
        public static 
        void ShaderBinary<T3>(Int32 n, Int32[] shaders, OpenTK.Graphics.ES20.All binaryformat, [InAttribute, OutAttribute] T3[] binary, Int32 length)
            where T3 : struct
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* shaders_ptr = shaders)
                {
                    GCHandle binary_ptr = GCHandle.Alloc(binary, GCHandleType.Pinned);
                    try
                    {
                        Core.ShaderBinary((Int32)n, (UInt32*)shaders_ptr, (OpenTK.Graphics.ES20.All)binaryformat, (IntPtr)binary_ptr.AddrOfPinnedObject(), (Int32)length);
                    }
                    finally
                    {
                        binary_ptr.Free();
                    }
                }
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glShaderBinary")]
        public static 
        void ShaderBinary(Int32 n, Int32[] shaders, OpenTK.Graphics.ES20.All binaryformat, IntPtr binary, Int32 length)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* shaders_ptr = shaders)
                {
                    Core.ShaderBinary((Int32)n, (UInt32*)shaders_ptr, (OpenTK.Graphics.ES20.All)binaryformat, (IntPtr)binary, (Int32)length);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glShaderBinary")]
        public static 
        void ShaderBinary<T3>(Int32 n, ref Int32 shaders, OpenTK.Graphics.ES20.All binaryformat, [InAttribute, OutAttribute] ref T3 binary, Int32 length)
            where T3 : struct
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* shaders_ptr = &shaders)
                {
                    GCHandle binary_ptr = GCHandle.Alloc(binary, GCHandleType.Pinned);
                    try
                    {
                        Core.ShaderBinary((Int32)n, (UInt32*)shaders_ptr, (OpenTK.Graphics.ES20.All)binaryformat, (IntPtr)binary_ptr.AddrOfPinnedObject(), (Int32)length);
                        binary = (T3)binary_ptr.Target;
                    }
                    finally
                    {
                        binary_ptr.Free();
                    }
                }
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glShaderBinary")]
        public static 
        void ShaderBinary<T3>(Int32 n, ref Int32 shaders, OpenTK.Graphics.ES20.All binaryformat, [InAttribute, OutAttribute] T3[,,] binary, Int32 length)
            where T3 : struct
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* shaders_ptr = &shaders)
                {
                    GCHandle binary_ptr = GCHandle.Alloc(binary, GCHandleType.Pinned);
                    try
                    {
                        Core.ShaderBinary((Int32)n, (UInt32*)shaders_ptr, (OpenTK.Graphics.ES20.All)binaryformat, (IntPtr)binary_ptr.AddrOfPinnedObject(), (Int32)length);
                    }
                    finally
                    {
                        binary_ptr.Free();
                    }
                }
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glShaderBinary")]
        public static 
        void ShaderBinary<T3>(Int32 n, ref Int32 shaders, OpenTK.Graphics.ES20.All binaryformat, [InAttribute, OutAttribute] T3[,] binary, Int32 length)
            where T3 : struct
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* shaders_ptr = &shaders)
                {
                    GCHandle binary_ptr = GCHandle.Alloc(binary, GCHandleType.Pinned);
                    try
                    {
                        Core.ShaderBinary((Int32)n, (UInt32*)shaders_ptr, (OpenTK.Graphics.ES20.All)binaryformat, (IntPtr)binary_ptr.AddrOfPinnedObject(), (Int32)length);
                    }
                    finally
                    {
                        binary_ptr.Free();
                    }
                }
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glShaderBinary")]
        public static 
        void ShaderBinary<T3>(Int32 n, ref Int32 shaders, OpenTK.Graphics.ES20.All binaryformat, [InAttribute, OutAttribute] T3[] binary, Int32 length)
            where T3 : struct
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* shaders_ptr = &shaders)
                {
                    GCHandle binary_ptr = GCHandle.Alloc(binary, GCHandleType.Pinned);
                    try
                    {
                        Core.ShaderBinary((Int32)n, (UInt32*)shaders_ptr, (OpenTK.Graphics.ES20.All)binaryformat, (IntPtr)binary_ptr.AddrOfPinnedObject(), (Int32)length);
                    }
                    finally
                    {
                        binary_ptr.Free();
                    }
                }
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glShaderBinary")]
        public static 
        void ShaderBinary(Int32 n, ref Int32 shaders, OpenTK.Graphics.ES20.All binaryformat, IntPtr binary, Int32 length)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* shaders_ptr = &shaders)
                {
                    Core.ShaderBinary((Int32)n, (UInt32*)shaders_ptr, (OpenTK.Graphics.ES20.All)binaryformat, (IntPtr)binary, (Int32)length);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glShaderBinary")]
        public static 
        void ShaderBinary<T3>(Int32 n, ref UInt32 shaders, OpenTK.Graphics.ES20.All binaryformat, [InAttribute, OutAttribute] ref T3 binary, Int32 length)
            where T3 : struct
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (UInt32* shaders_ptr = &shaders)
                {
                    GCHandle binary_ptr = GCHandle.Alloc(binary, GCHandleType.Pinned);
                    try
                    {
                        Core.ShaderBinary((Int32)n, (UInt32*)shaders_ptr, (OpenTK.Graphics.ES20.All)binaryformat, (IntPtr)binary_ptr.AddrOfPinnedObject(), (Int32)length);
                        binary = (T3)binary_ptr.Target;
                    }
                    finally
                    {
                        binary_ptr.Free();
                    }
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glShaderBinary")]
        public static 
        void ShaderBinary<T3>(Int32 n, ref UInt32 shaders, OpenTK.Graphics.ES20.All binaryformat, [InAttribute, OutAttribute] T3[,,] binary, Int32 length)
            where T3 : struct
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (UInt32* shaders_ptr = &shaders)
                {
                    GCHandle binary_ptr = GCHandle.Alloc(binary, GCHandleType.Pinned);
                    try
                    {
                        Core.ShaderBinary((Int32)n, (UInt32*)shaders_ptr, (OpenTK.Graphics.ES20.All)binaryformat, (IntPtr)binary_ptr.AddrOfPinnedObject(), (Int32)length);
                    }
                    finally
                    {
                        binary_ptr.Free();
                    }
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glShaderBinary")]
        public static 
        void ShaderBinary<T3>(Int32 n, ref UInt32 shaders, OpenTK.Graphics.ES20.All binaryformat, [InAttribute, OutAttribute] T3[,] binary, Int32 length)
            where T3 : struct
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (UInt32* shaders_ptr = &shaders)
                {
                    GCHandle binary_ptr = GCHandle.Alloc(binary, GCHandleType.Pinned);
                    try
                    {
                        Core.ShaderBinary((Int32)n, (UInt32*)shaders_ptr, (OpenTK.Graphics.ES20.All)binaryformat, (IntPtr)binary_ptr.AddrOfPinnedObject(), (Int32)length);
                    }
                    finally
                    {
                        binary_ptr.Free();
                    }
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glShaderBinary")]
        public static 
        void ShaderBinary<T3>(Int32 n, ref UInt32 shaders, OpenTK.Graphics.ES20.All binaryformat, [InAttribute, OutAttribute] T3[] binary, Int32 length)
            where T3 : struct
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (UInt32* shaders_ptr = &shaders)
                {
                    GCHandle binary_ptr = GCHandle.Alloc(binary, GCHandleType.Pinned);
                    try
                    {
                        Core.ShaderBinary((Int32)n, (UInt32*)shaders_ptr, (OpenTK.Graphics.ES20.All)binaryformat, (IntPtr)binary_ptr.AddrOfPinnedObject(), (Int32)length);
                    }
                    finally
                    {
                        binary_ptr.Free();
                    }
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glShaderBinary")]
        public static 
        void ShaderBinary(Int32 n, ref UInt32 shaders, OpenTK.Graphics.ES20.All binaryformat, IntPtr binary, Int32 length)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (UInt32* shaders_ptr = &shaders)
                {
                    Core.ShaderBinary((Int32)n, (UInt32*)shaders_ptr, (OpenTK.Graphics.ES20.All)binaryformat, (IntPtr)binary, (Int32)length);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glShaderBinary")]
        public static 
        unsafe void ShaderBinary<T3>(Int32 n, UInt32* shaders, OpenTK.Graphics.ES20.All binaryformat, [InAttribute, OutAttribute] ref T3 binary, Int32 length)
            where T3 : struct
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            GCHandle binary_ptr = GCHandle.Alloc(binary, GCHandleType.Pinned);
            try
            {
                Core.ShaderBinary((Int32)n, (UInt32*)shaders, (OpenTK.Graphics.ES20.All)binaryformat, (IntPtr)binary_ptr.AddrOfPinnedObject(), (Int32)length);
                binary = (T3)binary_ptr.Target;
            }
            finally
            {
                binary_ptr.Free();
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glShaderBinary")]
        public static 
        unsafe void ShaderBinary<T3>(Int32 n, UInt32* shaders, OpenTK.Graphics.ES20.All binaryformat, [InAttribute, OutAttribute] T3[,,] binary, Int32 length)
            where T3 : struct
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            GCHandle binary_ptr = GCHandle.Alloc(binary, GCHandleType.Pinned);
            try
            {
                Core.ShaderBinary((Int32)n, (UInt32*)shaders, (OpenTK.Graphics.ES20.All)binaryformat, (IntPtr)binary_ptr.AddrOfPinnedObject(), (Int32)length);
            }
            finally
            {
                binary_ptr.Free();
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glShaderBinary")]
        public static 
        unsafe void ShaderBinary<T3>(Int32 n, UInt32* shaders, OpenTK.Graphics.ES20.All binaryformat, [InAttribute, OutAttribute] T3[,] binary, Int32 length)
            where T3 : struct
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            GCHandle binary_ptr = GCHandle.Alloc(binary, GCHandleType.Pinned);
            try
            {
                Core.ShaderBinary((Int32)n, (UInt32*)shaders, (OpenTK.Graphics.ES20.All)binaryformat, (IntPtr)binary_ptr.AddrOfPinnedObject(), (Int32)length);
            }
            finally
            {
                binary_ptr.Free();
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glShaderBinary")]
        public static 
        unsafe void ShaderBinary<T3>(Int32 n, UInt32* shaders, OpenTK.Graphics.ES20.All binaryformat, [InAttribute, OutAttribute] T3[] binary, Int32 length)
            where T3 : struct
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            GCHandle binary_ptr = GCHandle.Alloc(binary, GCHandleType.Pinned);
            try
            {
                Core.ShaderBinary((Int32)n, (UInt32*)shaders, (OpenTK.Graphics.ES20.All)binaryformat, (IntPtr)binary_ptr.AddrOfPinnedObject(), (Int32)length);
            }
            finally
            {
                binary_ptr.Free();
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glShaderBinary")]
        public static 
        unsafe void ShaderBinary(Int32 n, UInt32* shaders, OpenTK.Graphics.ES20.All binaryformat, IntPtr binary, Int32 length)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.ShaderBinary((Int32)n, (UInt32*)shaders, (OpenTK.Graphics.ES20.All)binaryformat, (IntPtr)binary, (Int32)length);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glShaderBinary")]
        public static 
        void ShaderBinary<T3>(Int32 n, UInt32[] shaders, OpenTK.Graphics.ES20.All binaryformat, [InAttribute, OutAttribute] ref T3 binary, Int32 length)
            where T3 : struct
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (UInt32* shaders_ptr = shaders)
                {
                    GCHandle binary_ptr = GCHandle.Alloc(binary, GCHandleType.Pinned);
                    try
                    {
                        Core.ShaderBinary((Int32)n, (UInt32*)shaders_ptr, (OpenTK.Graphics.ES20.All)binaryformat, (IntPtr)binary_ptr.AddrOfPinnedObject(), (Int32)length);
                        binary = (T3)binary_ptr.Target;
                    }
                    finally
                    {
                        binary_ptr.Free();
                    }
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glShaderBinary")]
        public static 
        void ShaderBinary<T3>(Int32 n, UInt32[] shaders, OpenTK.Graphics.ES20.All binaryformat, [InAttribute, OutAttribute] T3[,,] binary, Int32 length)
            where T3 : struct
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (UInt32* shaders_ptr = shaders)
                {
                    GCHandle binary_ptr = GCHandle.Alloc(binary, GCHandleType.Pinned);
                    try
                    {
                        Core.ShaderBinary((Int32)n, (UInt32*)shaders_ptr, (OpenTK.Graphics.ES20.All)binaryformat, (IntPtr)binary_ptr.AddrOfPinnedObject(), (Int32)length);
                    }
                    finally
                    {
                        binary_ptr.Free();
                    }
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glShaderBinary")]
        public static 
        void ShaderBinary<T3>(Int32 n, UInt32[] shaders, OpenTK.Graphics.ES20.All binaryformat, [InAttribute, OutAttribute] T3[,] binary, Int32 length)
            where T3 : struct
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (UInt32* shaders_ptr = shaders)
                {
                    GCHandle binary_ptr = GCHandle.Alloc(binary, GCHandleType.Pinned);
                    try
                    {
                        Core.ShaderBinary((Int32)n, (UInt32*)shaders_ptr, (OpenTK.Graphics.ES20.All)binaryformat, (IntPtr)binary_ptr.AddrOfPinnedObject(), (Int32)length);
                    }
                    finally
                    {
                        binary_ptr.Free();
                    }
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glShaderBinary")]
        public static 
        void ShaderBinary<T3>(Int32 n, UInt32[] shaders, OpenTK.Graphics.ES20.All binaryformat, [InAttribute, OutAttribute] T3[] binary, Int32 length)
            where T3 : struct
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (UInt32* shaders_ptr = shaders)
                {
                    GCHandle binary_ptr = GCHandle.Alloc(binary, GCHandleType.Pinned);
                    try
                    {
                        Core.ShaderBinary((Int32)n, (UInt32*)shaders_ptr, (OpenTK.Graphics.ES20.All)binaryformat, (IntPtr)binary_ptr.AddrOfPinnedObject(), (Int32)length);
                    }
                    finally
                    {
                        binary_ptr.Free();
                    }
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glShaderBinary")]
        public static 
        void ShaderBinary(Int32 n, UInt32[] shaders, OpenTK.Graphics.ES20.All binaryformat, IntPtr binary, Int32 length)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (UInt32* shaders_ptr = shaders)
                {
                    Core.ShaderBinary((Int32)n, (UInt32*)shaders_ptr, (OpenTK.Graphics.ES20.All)binaryformat, (IntPtr)binary, (Int32)length);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glShaderSource")]
        public static 
        unsafe void ShaderSource(Int32 shader, Int32 count, String[] @string, Int32* length)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.ShaderSource((UInt32)shader, (Int32)count, (String[])@string, (Int32*)length);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glShaderSource")]
        public static 
        void ShaderSource(Int32 shader, Int32 count, String[] @string, Int32[] length)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* length_ptr = length)
                {
                    Core.ShaderSource((UInt32)shader, (Int32)count, (String[])@string, (Int32*)length_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glShaderSource")]
        public static 
        void ShaderSource(Int32 shader, Int32 count, String[] @string, ref Int32 length)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* length_ptr = &length)
                {
                    Core.ShaderSource((UInt32)shader, (Int32)count, (String[])@string, (Int32*)length_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glShaderSource")]
        public static 
        unsafe void ShaderSource(UInt32 shader, Int32 count, String[] @string, Int32* length)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.ShaderSource((UInt32)shader, (Int32)count, (String[])@string, (Int32*)length);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glShaderSource")]
        public static 
        void ShaderSource(UInt32 shader, Int32 count, String[] @string, Int32[] length)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* length_ptr = length)
                {
                    Core.ShaderSource((UInt32)shader, (Int32)count, (String[])@string, (Int32*)length_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glShaderSource")]
        public static 
        void ShaderSource(UInt32 shader, Int32 count, String[] @string, ref Int32 length)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* length_ptr = &length)
                {
                    Core.ShaderSource((UInt32)shader, (Int32)count, (String[])@string, (Int32*)length_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glStencilFunc")]
        public static 
        void StencilFunc(OpenTK.Graphics.ES20.All func, Int32 @ref, Int32 mask)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.StencilFunc((OpenTK.Graphics.ES20.All)func, (Int32)@ref, (UInt32)mask);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glStencilFunc")]
        public static 
        void StencilFunc(OpenTK.Graphics.ES20.All func, Int32 @ref, UInt32 mask)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.StencilFunc((OpenTK.Graphics.ES20.All)func, (Int32)@ref, (UInt32)mask);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glStencilFuncSeparate")]
        public static 
        void StencilFuncSeparate(OpenTK.Graphics.ES20.All face, OpenTK.Graphics.ES20.All func, Int32 @ref, Int32 mask)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.StencilFuncSeparate((OpenTK.Graphics.ES20.All)face, (OpenTK.Graphics.ES20.All)func, (Int32)@ref, (UInt32)mask);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glStencilFuncSeparate")]
        public static 
        void StencilFuncSeparate(OpenTK.Graphics.ES20.All face, OpenTK.Graphics.ES20.All func, Int32 @ref, UInt32 mask)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.StencilFuncSeparate((OpenTK.Graphics.ES20.All)face, (OpenTK.Graphics.ES20.All)func, (Int32)@ref, (UInt32)mask);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glStencilMask")]
        public static 
        void StencilMask(Int32 mask)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.StencilMask((UInt32)mask);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glStencilMask")]
        public static 
        void StencilMask(UInt32 mask)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.StencilMask((UInt32)mask);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glStencilMaskSeparate")]
        public static 
        void StencilMaskSeparate(OpenTK.Graphics.ES20.All face, Int32 mask)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.StencilMaskSeparate((OpenTK.Graphics.ES20.All)face, (UInt32)mask);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glStencilMaskSeparate")]
        public static 
        void StencilMaskSeparate(OpenTK.Graphics.ES20.All face, UInt32 mask)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.StencilMaskSeparate((OpenTK.Graphics.ES20.All)face, (UInt32)mask);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glStencilOp")]
        public static 
        void StencilOp(OpenTK.Graphics.ES20.All fail, OpenTK.Graphics.ES20.All zfail, OpenTK.Graphics.ES20.All zpass)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.StencilOp((OpenTK.Graphics.ES20.All)fail, (OpenTK.Graphics.ES20.All)zfail, (OpenTK.Graphics.ES20.All)zpass);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glStencilOpSeparate")]
        public static 
        void StencilOpSeparate(OpenTK.Graphics.ES20.All face, OpenTK.Graphics.ES20.All fail, OpenTK.Graphics.ES20.All zfail, OpenTK.Graphics.ES20.All zpass)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.StencilOpSeparate((OpenTK.Graphics.ES20.All)face, (OpenTK.Graphics.ES20.All)fail, (OpenTK.Graphics.ES20.All)zfail, (OpenTK.Graphics.ES20.All)zpass);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glTexImage2D")]
        public static 
        void TexImage2D<T8>(OpenTK.Graphics.ES20.All target, Int32 level, Int32 internalformat, Int32 width, Int32 height, Int32 border, OpenTK.Graphics.ES20.All format, OpenTK.Graphics.ES20.All type, [InAttribute, OutAttribute] ref T8 pixels)
            where T8 : struct
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
            try
            {
                Core.TexImage2D((OpenTK.Graphics.ES20.All)target, (Int32)level, (Int32)internalformat, (Int32)width, (Int32)height, (Int32)border, (OpenTK.Graphics.ES20.All)format, (OpenTK.Graphics.ES20.All)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
                pixels = (T8)pixels_ptr.Target;
            }
            finally
            {
                pixels_ptr.Free();
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glTexImage2D")]
        public static 
        void TexImage2D<T8>(OpenTK.Graphics.ES20.All target, Int32 level, Int32 internalformat, Int32 width, Int32 height, Int32 border, OpenTK.Graphics.ES20.All format, OpenTK.Graphics.ES20.All type, [InAttribute, OutAttribute] T8[,,] pixels)
            where T8 : struct
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
            try
            {
                Core.TexImage2D((OpenTK.Graphics.ES20.All)target, (Int32)level, (Int32)internalformat, (Int32)width, (Int32)height, (Int32)border, (OpenTK.Graphics.ES20.All)format, (OpenTK.Graphics.ES20.All)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
            }
            finally
            {
                pixels_ptr.Free();
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glTexImage2D")]
        public static 
        void TexImage2D<T8>(OpenTK.Graphics.ES20.All target, Int32 level, Int32 internalformat, Int32 width, Int32 height, Int32 border, OpenTK.Graphics.ES20.All format, OpenTK.Graphics.ES20.All type, [InAttribute, OutAttribute] T8[,] pixels)
            where T8 : struct
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
            try
            {
                Core.TexImage2D((OpenTK.Graphics.ES20.All)target, (Int32)level, (Int32)internalformat, (Int32)width, (Int32)height, (Int32)border, (OpenTK.Graphics.ES20.All)format, (OpenTK.Graphics.ES20.All)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
            }
            finally
            {
                pixels_ptr.Free();
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glTexImage2D")]
        public static 
        void TexImage2D<T8>(OpenTK.Graphics.ES20.All target, Int32 level, Int32 internalformat, Int32 width, Int32 height, Int32 border, OpenTK.Graphics.ES20.All format, OpenTK.Graphics.ES20.All type, [InAttribute, OutAttribute] T8[] pixels)
            where T8 : struct
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
            try
            {
                Core.TexImage2D((OpenTK.Graphics.ES20.All)target, (Int32)level, (Int32)internalformat, (Int32)width, (Int32)height, (Int32)border, (OpenTK.Graphics.ES20.All)format, (OpenTK.Graphics.ES20.All)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
            }
            finally
            {
                pixels_ptr.Free();
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glTexImage2D")]
        public static 
        void TexImage2D(OpenTK.Graphics.ES20.All target, Int32 level, Int32 internalformat, Int32 width, Int32 height, Int32 border, OpenTK.Graphics.ES20.All format, OpenTK.Graphics.ES20.All type, IntPtr pixels)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.TexImage2D((OpenTK.Graphics.ES20.All)target, (Int32)level, (Int32)internalformat, (Int32)width, (Int32)height, (Int32)border, (OpenTK.Graphics.ES20.All)format, (OpenTK.Graphics.ES20.All)type, (IntPtr)pixels);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glTexParameterf")]
        public static 
        void TexParameter(OpenTK.Graphics.ES20.All target, OpenTK.Graphics.ES20.All pname, Single param)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.TexParameterf((OpenTK.Graphics.ES20.All)target, (OpenTK.Graphics.ES20.All)pname, (Single)param);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glTexParameterfv")]
        public static 
        unsafe void TexParameter(OpenTK.Graphics.ES20.All target, OpenTK.Graphics.ES20.All pname, Single* @params)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.TexParameterfv((OpenTK.Graphics.ES20.All)target, (OpenTK.Graphics.ES20.All)pname, (Single*)@params);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glTexParameterfv")]
        public static 
        void TexParameter(OpenTK.Graphics.ES20.All target, OpenTK.Graphics.ES20.All pname, Single[] @params)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Single* @params_ptr = @params)
                {
                    Core.TexParameterfv((OpenTK.Graphics.ES20.All)target, (OpenTK.Graphics.ES20.All)pname, (Single*)@params_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glTexParameteri")]
        public static 
        void TexParameter(OpenTK.Graphics.ES20.All target, OpenTK.Graphics.ES20.All pname, Int32 param)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.TexParameteri((OpenTK.Graphics.ES20.All)target, (OpenTK.Graphics.ES20.All)pname, (Int32)param);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glTexParameteriv")]
        public static 
        unsafe void TexParameter(OpenTK.Graphics.ES20.All target, OpenTK.Graphics.ES20.All pname, Int32* @params)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.TexParameteriv((OpenTK.Graphics.ES20.All)target, (OpenTK.Graphics.ES20.All)pname, (Int32*)@params);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glTexParameteriv")]
        public static 
        void TexParameter(OpenTK.Graphics.ES20.All target, OpenTK.Graphics.ES20.All pname, Int32[] @params)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* @params_ptr = @params)
                {
                    Core.TexParameteriv((OpenTK.Graphics.ES20.All)target, (OpenTK.Graphics.ES20.All)pname, (Int32*)@params_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glTexSubImage2D")]
        public static 
        void TexSubImage2D<T8>(OpenTK.Graphics.ES20.All target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, OpenTK.Graphics.ES20.All format, OpenTK.Graphics.ES20.All type, [InAttribute, OutAttribute] ref T8 pixels)
            where T8 : struct
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
            try
            {
                Core.TexSubImage2D((OpenTK.Graphics.ES20.All)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (OpenTK.Graphics.ES20.All)format, (OpenTK.Graphics.ES20.All)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
                pixels = (T8)pixels_ptr.Target;
            }
            finally
            {
                pixels_ptr.Free();
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glTexSubImage2D")]
        public static 
        void TexSubImage2D<T8>(OpenTK.Graphics.ES20.All target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, OpenTK.Graphics.ES20.All format, OpenTK.Graphics.ES20.All type, [InAttribute, OutAttribute] T8[,,] pixels)
            where T8 : struct
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
            try
            {
                Core.TexSubImage2D((OpenTK.Graphics.ES20.All)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (OpenTK.Graphics.ES20.All)format, (OpenTK.Graphics.ES20.All)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
            }
            finally
            {
                pixels_ptr.Free();
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glTexSubImage2D")]
        public static 
        void TexSubImage2D<T8>(OpenTK.Graphics.ES20.All target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, OpenTK.Graphics.ES20.All format, OpenTK.Graphics.ES20.All type, [InAttribute, OutAttribute] T8[,] pixels)
            where T8 : struct
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
            try
            {
                Core.TexSubImage2D((OpenTK.Graphics.ES20.All)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (OpenTK.Graphics.ES20.All)format, (OpenTK.Graphics.ES20.All)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
            }
            finally
            {
                pixels_ptr.Free();
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glTexSubImage2D")]
        public static 
        void TexSubImage2D<T8>(OpenTK.Graphics.ES20.All target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, OpenTK.Graphics.ES20.All format, OpenTK.Graphics.ES20.All type, [InAttribute, OutAttribute] T8[] pixels)
            where T8 : struct
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
            try
            {
                Core.TexSubImage2D((OpenTK.Graphics.ES20.All)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (OpenTK.Graphics.ES20.All)format, (OpenTK.Graphics.ES20.All)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
            }
            finally
            {
                pixels_ptr.Free();
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glTexSubImage2D")]
        public static 
        void TexSubImage2D(OpenTK.Graphics.ES20.All target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, OpenTK.Graphics.ES20.All format, OpenTK.Graphics.ES20.All type, IntPtr pixels)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.TexSubImage2D((OpenTK.Graphics.ES20.All)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (OpenTK.Graphics.ES20.All)format, (OpenTK.Graphics.ES20.All)type, (IntPtr)pixels);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glUniform1f")]
        public static 
        void Uniform1(Int32 location, Single x)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.Uniform1f((Int32)location, (Single)x);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glUniform1fv")]
        public static 
        void Uniform1(Int32 location, Int32 count, ref Single v)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Single* v_ptr = &v)
                {
                    Core.Uniform1fv((Int32)location, (Int32)count, (Single*)v_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glUniform1fv")]
        public static 
        unsafe void Uniform1(Int32 location, Int32 count, Single* v)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.Uniform1fv((Int32)location, (Int32)count, (Single*)v);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glUniform1fv")]
        public static 
        void Uniform1(Int32 location, Int32 count, Single[] v)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Single* v_ptr = v)
                {
                    Core.Uniform1fv((Int32)location, (Int32)count, (Single*)v_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glUniform1i")]
        public static 
        void Uniform1(Int32 location, Int32 x)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.Uniform1i((Int32)location, (Int32)x);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glUniform1iv")]
        public static 
        unsafe void Uniform1(Int32 location, Int32 count, Int32* v)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.Uniform1iv((Int32)location, (Int32)count, (Int32*)v);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glUniform1iv")]
        public static 
        void Uniform1(Int32 location, Int32 count, Int32[] v)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* v_ptr = v)
                {
                    Core.Uniform1iv((Int32)location, (Int32)count, (Int32*)v_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glUniform1iv")]
        public static 
        void Uniform1(Int32 location, Int32 count, ref Int32 v)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* v_ptr = &v)
                {
                    Core.Uniform1iv((Int32)location, (Int32)count, (Int32*)v_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glUniform2f")]
        public static 
        void Uniform2(Int32 location, Single x, Single y)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.Uniform2f((Int32)location, (Single)x, (Single)y);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glUniform2fv")]
        public static 
        void Uniform2(Int32 location, Int32 count, ref Single v)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Single* v_ptr = &v)
                {
                    Core.Uniform2fv((Int32)location, (Int32)count, (Single*)v_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glUniform2fv")]
        public static 
        unsafe void Uniform2(Int32 location, Int32 count, Single* v)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.Uniform2fv((Int32)location, (Int32)count, (Single*)v);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glUniform2fv")]
        public static 
        void Uniform2(Int32 location, Int32 count, Single[] v)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Single* v_ptr = v)
                {
                    Core.Uniform2fv((Int32)location, (Int32)count, (Single*)v_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glUniform2i")]
        public static 
        void Uniform2(Int32 location, Int32 x, Int32 y)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.Uniform2i((Int32)location, (Int32)x, (Int32)y);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glUniform2iv")]
        public static 
        unsafe void Uniform2(Int32 location, Int32 count, Int32* v)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.Uniform2iv((Int32)location, (Int32)count, (Int32*)v);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glUniform2iv")]
        public static 
        void Uniform2(Int32 location, Int32 count, Int32[] v)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* v_ptr = v)
                {
                    Core.Uniform2iv((Int32)location, (Int32)count, (Int32*)v_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glUniform3f")]
        public static 
        void Uniform3(Int32 location, Single x, Single y, Single z)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.Uniform3f((Int32)location, (Single)x, (Single)y, (Single)z);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glUniform3fv")]
        public static 
        void Uniform3(Int32 location, Int32 count, ref Single v)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Single* v_ptr = &v)
                {
                    Core.Uniform3fv((Int32)location, (Int32)count, (Single*)v_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glUniform3fv")]
        public static 
        unsafe void Uniform3(Int32 location, Int32 count, Single* v)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.Uniform3fv((Int32)location, (Int32)count, (Single*)v);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glUniform3fv")]
        public static 
        void Uniform3(Int32 location, Int32 count, Single[] v)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Single* v_ptr = v)
                {
                    Core.Uniform3fv((Int32)location, (Int32)count, (Single*)v_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glUniform3i")]
        public static 
        void Uniform3(Int32 location, Int32 x, Int32 y, Int32 z)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.Uniform3i((Int32)location, (Int32)x, (Int32)y, (Int32)z);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glUniform3iv")]
        public static 
        unsafe void Uniform3(Int32 location, Int32 count, Int32* v)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.Uniform3iv((Int32)location, (Int32)count, (Int32*)v);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glUniform3iv")]
        public static 
        void Uniform3(Int32 location, Int32 count, Int32[] v)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* v_ptr = v)
                {
                    Core.Uniform3iv((Int32)location, (Int32)count, (Int32*)v_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glUniform3iv")]
        public static 
        void Uniform3(Int32 location, Int32 count, ref Int32 v)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* v_ptr = &v)
                {
                    Core.Uniform3iv((Int32)location, (Int32)count, (Int32*)v_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glUniform4f")]
        public static 
        void Uniform4(Int32 location, Single x, Single y, Single z, Single w)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.Uniform4f((Int32)location, (Single)x, (Single)y, (Single)z, (Single)w);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glUniform4fv")]
        public static 
        void Uniform4(Int32 location, Int32 count, ref Single v)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Single* v_ptr = &v)
                {
                    Core.Uniform4fv((Int32)location, (Int32)count, (Single*)v_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glUniform4fv")]
        public static 
        unsafe void Uniform4(Int32 location, Int32 count, Single* v)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.Uniform4fv((Int32)location, (Int32)count, (Single*)v);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glUniform4fv")]
        public static 
        void Uniform4(Int32 location, Int32 count, Single[] v)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Single* v_ptr = v)
                {
                    Core.Uniform4fv((Int32)location, (Int32)count, (Single*)v_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glUniform4i")]
        public static 
        void Uniform4(Int32 location, Int32 x, Int32 y, Int32 z, Int32 w)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.Uniform4i((Int32)location, (Int32)x, (Int32)y, (Int32)z, (Int32)w);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glUniform4iv")]
        public static 
        unsafe void Uniform4(Int32 location, Int32 count, Int32* v)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.Uniform4iv((Int32)location, (Int32)count, (Int32*)v);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glUniform4iv")]
        public static 
        void Uniform4(Int32 location, Int32 count, Int32[] v)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* v_ptr = v)
                {
                    Core.Uniform4iv((Int32)location, (Int32)count, (Int32*)v_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glUniform4iv")]
        public static 
        void Uniform4(Int32 location, Int32 count, ref Int32 v)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Int32* v_ptr = &v)
                {
                    Core.Uniform4iv((Int32)location, (Int32)count, (Int32*)v_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glUniformMatrix2fv")]
        public static 
        void UniformMatrix2(Int32 location, Int32 count, bool transpose, ref Single value)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Single* value_ptr = &value)
                {
                    Core.UniformMatrix2fv((Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glUniformMatrix2fv")]
        public static 
        unsafe void UniformMatrix2(Int32 location, Int32 count, bool transpose, Single* value)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.UniformMatrix2fv((Int32)location, (Int32)count, (bool)transpose, (Single*)value);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glUniformMatrix2fv")]
        public static 
        void UniformMatrix2(Int32 location, Int32 count, bool transpose, Single[] value)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Single* value_ptr = value)
                {
                    Core.UniformMatrix2fv((Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glUniformMatrix3fv")]
        public static 
        void UniformMatrix3(Int32 location, Int32 count, bool transpose, ref Single value)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Single* value_ptr = &value)
                {
                    Core.UniformMatrix3fv((Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glUniformMatrix3fv")]
        public static 
        unsafe void UniformMatrix3(Int32 location, Int32 count, bool transpose, Single* value)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.UniformMatrix3fv((Int32)location, (Int32)count, (bool)transpose, (Single*)value);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glUniformMatrix3fv")]
        public static 
        void UniformMatrix3(Int32 location, Int32 count, bool transpose, Single[] value)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Single* value_ptr = value)
                {
                    Core.UniformMatrix3fv((Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glUniformMatrix4fv")]
        public static 
        void UniformMatrix4(Int32 location, Int32 count, bool transpose, ref Single value)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Single* value_ptr = &value)
                {
                    Core.UniformMatrix4fv((Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glUniformMatrix4fv")]
        public static 
        unsafe void UniformMatrix4(Int32 location, Int32 count, bool transpose, Single* value)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.UniformMatrix4fv((Int32)location, (Int32)count, (bool)transpose, (Single*)value);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glUniformMatrix4fv")]
        public static 
        void UniformMatrix4(Int32 location, Int32 count, bool transpose, Single[] value)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Single* value_ptr = value)
                {
                    Core.UniformMatrix4fv((Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glUseProgram")]
        public static 
        void UseProgram(Int32 program)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.UseProgram((UInt32)program);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glUseProgram")]
        public static 
        void UseProgram(UInt32 program)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.UseProgram((UInt32)program);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glValidateProgram")]
        public static 
        void ValidateProgram(Int32 program)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.ValidateProgram((UInt32)program);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glValidateProgram")]
        public static 
        void ValidateProgram(UInt32 program)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.ValidateProgram((UInt32)program);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glVertexAttrib1f")]
        public static 
        void VertexAttrib1(Int32 indx, Single x)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.VertexAttrib1f((UInt32)indx, (Single)x);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glVertexAttrib1f")]
        public static 
        void VertexAttrib1(UInt32 indx, Single x)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.VertexAttrib1f((UInt32)indx, (Single)x);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glVertexAttrib1fv")]
        public static 
        unsafe void VertexAttrib1(Int32 indx, Single* values)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.VertexAttrib1fv((UInt32)indx, (Single*)values);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glVertexAttrib1fv")]
        public static 
        void VertexAttrib1(Int32 indx, Single[] values)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Single* values_ptr = values)
                {
                    Core.VertexAttrib1fv((UInt32)indx, (Single*)values_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glVertexAttrib1fv")]
        public static 
        unsafe void VertexAttrib1(UInt32 indx, Single* values)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.VertexAttrib1fv((UInt32)indx, (Single*)values);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glVertexAttrib1fv")]
        public static 
        void VertexAttrib1(UInt32 indx, Single[] values)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Single* values_ptr = values)
                {
                    Core.VertexAttrib1fv((UInt32)indx, (Single*)values_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glVertexAttrib2f")]
        public static 
        void VertexAttrib2(Int32 indx, Single x, Single y)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.VertexAttrib2f((UInt32)indx, (Single)x, (Single)y);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glVertexAttrib2f")]
        public static 
        void VertexAttrib2(UInt32 indx, Single x, Single y)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.VertexAttrib2f((UInt32)indx, (Single)x, (Single)y);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glVertexAttrib2fv")]
        public static 
        void VertexAttrib2(Int32 indx, ref Single values)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Single* values_ptr = &values)
                {
                    Core.VertexAttrib2fv((UInt32)indx, (Single*)values_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glVertexAttrib2fv")]
        public static 
        unsafe void VertexAttrib2(Int32 indx, Single* values)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.VertexAttrib2fv((UInt32)indx, (Single*)values);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glVertexAttrib2fv")]
        public static 
        void VertexAttrib2(Int32 indx, Single[] values)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Single* values_ptr = values)
                {
                    Core.VertexAttrib2fv((UInt32)indx, (Single*)values_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glVertexAttrib2fv")]
        public static 
        void VertexAttrib2(UInt32 indx, ref Single values)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Single* values_ptr = &values)
                {
                    Core.VertexAttrib2fv((UInt32)indx, (Single*)values_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glVertexAttrib2fv")]
        public static 
        unsafe void VertexAttrib2(UInt32 indx, Single* values)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.VertexAttrib2fv((UInt32)indx, (Single*)values);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glVertexAttrib2fv")]
        public static 
        void VertexAttrib2(UInt32 indx, Single[] values)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Single* values_ptr = values)
                {
                    Core.VertexAttrib2fv((UInt32)indx, (Single*)values_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glVertexAttrib3f")]
        public static 
        void VertexAttrib3(Int32 indx, Single x, Single y, Single z)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.VertexAttrib3f((UInt32)indx, (Single)x, (Single)y, (Single)z);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glVertexAttrib3f")]
        public static 
        void VertexAttrib3(UInt32 indx, Single x, Single y, Single z)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.VertexAttrib3f((UInt32)indx, (Single)x, (Single)y, (Single)z);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glVertexAttrib3fv")]
        public static 
        void VertexAttrib3(Int32 indx, ref Single values)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Single* values_ptr = &values)
                {
                    Core.VertexAttrib3fv((UInt32)indx, (Single*)values_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glVertexAttrib3fv")]
        public static 
        unsafe void VertexAttrib3(Int32 indx, Single* values)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.VertexAttrib3fv((UInt32)indx, (Single*)values);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glVertexAttrib3fv")]
        public static 
        void VertexAttrib3(Int32 indx, Single[] values)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Single* values_ptr = values)
                {
                    Core.VertexAttrib3fv((UInt32)indx, (Single*)values_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glVertexAttrib3fv")]
        public static 
        void VertexAttrib3(UInt32 indx, ref Single values)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Single* values_ptr = &values)
                {
                    Core.VertexAttrib3fv((UInt32)indx, (Single*)values_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glVertexAttrib3fv")]
        public static 
        unsafe void VertexAttrib3(UInt32 indx, Single* values)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.VertexAttrib3fv((UInt32)indx, (Single*)values);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glVertexAttrib3fv")]
        public static 
        void VertexAttrib3(UInt32 indx, Single[] values)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Single* values_ptr = values)
                {
                    Core.VertexAttrib3fv((UInt32)indx, (Single*)values_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glVertexAttrib4f")]
        public static 
        void VertexAttrib4(Int32 indx, Single x, Single y, Single z, Single w)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.VertexAttrib4f((UInt32)indx, (Single)x, (Single)y, (Single)z, (Single)w);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glVertexAttrib4f")]
        public static 
        void VertexAttrib4(UInt32 indx, Single x, Single y, Single z, Single w)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.VertexAttrib4f((UInt32)indx, (Single)x, (Single)y, (Single)z, (Single)w);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glVertexAttrib4fv")]
        public static 
        void VertexAttrib4(Int32 indx, ref Single values)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Single* values_ptr = &values)
                {
                    Core.VertexAttrib4fv((UInt32)indx, (Single*)values_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glVertexAttrib4fv")]
        public static 
        unsafe void VertexAttrib4(Int32 indx, Single* values)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.VertexAttrib4fv((UInt32)indx, (Single*)values);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glVertexAttrib4fv")]
        public static 
        void VertexAttrib4(Int32 indx, Single[] values)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Single* values_ptr = values)
                {
                    Core.VertexAttrib4fv((UInt32)indx, (Single*)values_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glVertexAttrib4fv")]
        public static 
        void VertexAttrib4(UInt32 indx, ref Single values)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Single* values_ptr = &values)
                {
                    Core.VertexAttrib4fv((UInt32)indx, (Single*)values_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glVertexAttrib4fv")]
        public static 
        unsafe void VertexAttrib4(UInt32 indx, Single* values)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.VertexAttrib4fv((UInt32)indx, (Single*)values);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glVertexAttrib4fv")]
        public static 
        void VertexAttrib4(UInt32 indx, Single[] values)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            unsafe
            {
                fixed (Single* values_ptr = values)
                {
                    Core.VertexAttrib4fv((UInt32)indx, (Single*)values_ptr);
                }
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glVertexAttribPointer")]
        public static 
        void VertexAttribPointer<T5>(Int32 indx, Int32 size, OpenTK.Graphics.ES20.All type, bool normalized, Int32 stride, [InAttribute, OutAttribute] ref T5 ptr)
            where T5 : struct
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            GCHandle ptr_ptr = GCHandle.Alloc(ptr, GCHandleType.Pinned);
            try
            {
                Core.VertexAttribPointer((UInt32)indx, (Int32)size, (OpenTK.Graphics.ES20.All)type, (bool)normalized, (Int32)stride, (IntPtr)ptr_ptr.AddrOfPinnedObject());
                ptr = (T5)ptr_ptr.Target;
            }
            finally
            {
                ptr_ptr.Free();
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glVertexAttribPointer")]
        public static 
        void VertexAttribPointer<T5>(Int32 indx, Int32 size, OpenTK.Graphics.ES20.All type, bool normalized, Int32 stride, [InAttribute, OutAttribute] T5[,,] ptr)
            where T5 : struct
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            GCHandle ptr_ptr = GCHandle.Alloc(ptr, GCHandleType.Pinned);
            try
            {
                Core.VertexAttribPointer((UInt32)indx, (Int32)size, (OpenTK.Graphics.ES20.All)type, (bool)normalized, (Int32)stride, (IntPtr)ptr_ptr.AddrOfPinnedObject());
            }
            finally
            {
                ptr_ptr.Free();
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glVertexAttribPointer")]
        public static 
        void VertexAttribPointer<T5>(Int32 indx, Int32 size, OpenTK.Graphics.ES20.All type, bool normalized, Int32 stride, [InAttribute, OutAttribute] T5[,] ptr)
            where T5 : struct
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            GCHandle ptr_ptr = GCHandle.Alloc(ptr, GCHandleType.Pinned);
            try
            {
                Core.VertexAttribPointer((UInt32)indx, (Int32)size, (OpenTK.Graphics.ES20.All)type, (bool)normalized, (Int32)stride, (IntPtr)ptr_ptr.AddrOfPinnedObject());
            }
            finally
            {
                ptr_ptr.Free();
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glVertexAttribPointer")]
        public static 
        void VertexAttribPointer<T5>(Int32 indx, Int32 size, OpenTK.Graphics.ES20.All type, bool normalized, Int32 stride, [InAttribute, OutAttribute] T5[] ptr)
            where T5 : struct
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            GCHandle ptr_ptr = GCHandle.Alloc(ptr, GCHandleType.Pinned);
            try
            {
                Core.VertexAttribPointer((UInt32)indx, (Int32)size, (OpenTK.Graphics.ES20.All)type, (bool)normalized, (Int32)stride, (IntPtr)ptr_ptr.AddrOfPinnedObject());
            }
            finally
            {
                ptr_ptr.Free();
            }
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glVertexAttribPointer")]
        public static 
        void VertexAttribPointer(Int32 indx, Int32 size, OpenTK.Graphics.ES20.All type, bool normalized, Int32 stride, IntPtr ptr)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.VertexAttribPointer((UInt32)indx, (Int32)size, (OpenTK.Graphics.ES20.All)type, (bool)normalized, (Int32)stride, (IntPtr)ptr);
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glVertexAttribPointer")]
        public static 
        void VertexAttribPointer<T5>(UInt32 indx, Int32 size, OpenTK.Graphics.ES20.All type, bool normalized, Int32 stride, [InAttribute, OutAttribute] ref T5 ptr)
            where T5 : struct
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            GCHandle ptr_ptr = GCHandle.Alloc(ptr, GCHandleType.Pinned);
            try
            {
                Core.VertexAttribPointer((UInt32)indx, (Int32)size, (OpenTK.Graphics.ES20.All)type, (bool)normalized, (Int32)stride, (IntPtr)ptr_ptr.AddrOfPinnedObject());
                ptr = (T5)ptr_ptr.Target;
            }
            finally
            {
                ptr_ptr.Free();
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glVertexAttribPointer")]
        public static 
        void VertexAttribPointer<T5>(UInt32 indx, Int32 size, OpenTK.Graphics.ES20.All type, bool normalized, Int32 stride, [InAttribute, OutAttribute] T5[,,] ptr)
            where T5 : struct
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            GCHandle ptr_ptr = GCHandle.Alloc(ptr, GCHandleType.Pinned);
            try
            {
                Core.VertexAttribPointer((UInt32)indx, (Int32)size, (OpenTK.Graphics.ES20.All)type, (bool)normalized, (Int32)stride, (IntPtr)ptr_ptr.AddrOfPinnedObject());
            }
            finally
            {
                ptr_ptr.Free();
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glVertexAttribPointer")]
        public static 
        void VertexAttribPointer<T5>(UInt32 indx, Int32 size, OpenTK.Graphics.ES20.All type, bool normalized, Int32 stride, [InAttribute, OutAttribute] T5[,] ptr)
            where T5 : struct
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            GCHandle ptr_ptr = GCHandle.Alloc(ptr, GCHandleType.Pinned);
            try
            {
                Core.VertexAttribPointer((UInt32)indx, (Int32)size, (OpenTK.Graphics.ES20.All)type, (bool)normalized, (Int32)stride, (IntPtr)ptr_ptr.AddrOfPinnedObject());
            }
            finally
            {
                ptr_ptr.Free();
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glVertexAttribPointer")]
        public static 
        void VertexAttribPointer<T5>(UInt32 indx, Int32 size, OpenTK.Graphics.ES20.All type, bool normalized, Int32 stride, [InAttribute, OutAttribute] T5[] ptr)
            where T5 : struct
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            GCHandle ptr_ptr = GCHandle.Alloc(ptr, GCHandleType.Pinned);
            try
            {
                Core.VertexAttribPointer((UInt32)indx, (Int32)size, (OpenTK.Graphics.ES20.All)type, (bool)normalized, (Int32)stride, (IntPtr)ptr_ptr.AddrOfPinnedObject());
            }
            finally
            {
                ptr_ptr.Free();
            }
            #if DEBUG
            }
            #endif
        }

        [System.CLSCompliant(false)]
        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glVertexAttribPointer")]
        public static 
        void VertexAttribPointer(UInt32 indx, Int32 size, OpenTK.Graphics.ES20.All type, bool normalized, Int32 stride, IntPtr ptr)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.VertexAttribPointer((UInt32)indx, (Int32)size, (OpenTK.Graphics.ES20.All)type, (bool)normalized, (Int32)stride, (IntPtr)ptr);
            #if DEBUG
            }
            #endif
        }

        [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glViewport")]
        public static 
        void Viewport(Int32 x, Int32 y, Int32 width, Int32 height)
        {
            #if DEBUG
            using (new ErrorHelper(GraphicsContext.CurrentContext))
            {
            #endif
            Core.Viewport((Int32)x, (Int32)y, (Int32)width, (Int32)height);
            #if DEBUG
            }
            #endif
        }

        public static partial class Oes
        {
            [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetBufferPointervOES")]
            public static 
            void GetBufferPointer<T2>(OpenTK.Graphics.ES20.All target, OpenTK.Graphics.ES20.All pname, [InAttribute, OutAttribute] ref T2 @params)
                where T2 : struct
            {
                #if DEBUG
                using (new ErrorHelper(GraphicsContext.CurrentContext))
                {
                #endif
                GCHandle @params_ptr = GCHandle.Alloc(@params, GCHandleType.Pinned);
                try
                {
                    Core.GetBufferPointervOES((OpenTK.Graphics.ES20.All)target, (OpenTK.Graphics.ES20.All)pname, (IntPtr)@params_ptr.AddrOfPinnedObject());
                    @params = (T2)@params_ptr.Target;
                }
                finally
                {
                    @params_ptr.Free();
                }
                #if DEBUG
                }
                #endif
            }

            [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetBufferPointervOES")]
            public static 
            void GetBufferPointer<T2>(OpenTK.Graphics.ES20.All target, OpenTK.Graphics.ES20.All pname, [InAttribute, OutAttribute] T2[,,] @params)
                where T2 : struct
            {
                #if DEBUG
                using (new ErrorHelper(GraphicsContext.CurrentContext))
                {
                #endif
                GCHandle @params_ptr = GCHandle.Alloc(@params, GCHandleType.Pinned);
                try
                {
                    Core.GetBufferPointervOES((OpenTK.Graphics.ES20.All)target, (OpenTK.Graphics.ES20.All)pname, (IntPtr)@params_ptr.AddrOfPinnedObject());
                }
                finally
                {
                    @params_ptr.Free();
                }
                #if DEBUG
                }
                #endif
            }

            [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetBufferPointervOES")]
            public static 
            void GetBufferPointer<T2>(OpenTK.Graphics.ES20.All target, OpenTK.Graphics.ES20.All pname, [InAttribute, OutAttribute] T2[,] @params)
                where T2 : struct
            {
                #if DEBUG
                using (new ErrorHelper(GraphicsContext.CurrentContext))
                {
                #endif
                GCHandle @params_ptr = GCHandle.Alloc(@params, GCHandleType.Pinned);
                try
                {
                    Core.GetBufferPointervOES((OpenTK.Graphics.ES20.All)target, (OpenTK.Graphics.ES20.All)pname, (IntPtr)@params_ptr.AddrOfPinnedObject());
                }
                finally
                {
                    @params_ptr.Free();
                }
                #if DEBUG
                }
                #endif
            }

            [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetBufferPointervOES")]
            public static 
            void GetBufferPointer<T2>(OpenTK.Graphics.ES20.All target, OpenTK.Graphics.ES20.All pname, [InAttribute, OutAttribute] T2[] @params)
                where T2 : struct
            {
                #if DEBUG
                using (new ErrorHelper(GraphicsContext.CurrentContext))
                {
                #endif
                GCHandle @params_ptr = GCHandle.Alloc(@params, GCHandleType.Pinned);
                try
                {
                    Core.GetBufferPointervOES((OpenTK.Graphics.ES20.All)target, (OpenTK.Graphics.ES20.All)pname, (IntPtr)@params_ptr.AddrOfPinnedObject());
                }
                finally
                {
                    @params_ptr.Free();
                }
                #if DEBUG
                }
                #endif
            }

            [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glGetBufferPointervOES")]
            public static 
            void GetBufferPointer(OpenTK.Graphics.ES20.All target, OpenTK.Graphics.ES20.All pname, IntPtr @params)
            {
                #if DEBUG
                using (new ErrorHelper(GraphicsContext.CurrentContext))
                {
                #endif
                Core.GetBufferPointervOES((OpenTK.Graphics.ES20.All)target, (OpenTK.Graphics.ES20.All)pname, (IntPtr)@params);
                #if DEBUG
                }
                #endif
            }

            [System.CLSCompliant(false)]
            [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glMapBufferOES")]
            public static 
            unsafe IntPtr MapBuffer(OpenTK.Graphics.ES20.All target, OpenTK.Graphics.ES20.All access)
            {
                #if DEBUG
                using (new ErrorHelper(GraphicsContext.CurrentContext))
                {
                #endif
                return Core.MapBufferOES((OpenTK.Graphics.ES20.All)target, (OpenTK.Graphics.ES20.All)access);
                #if DEBUG
                }
                #endif
            }

            [AutoGenerated(Category = "2.0", Version = "2.0", EntryPoint = "glUnmapBufferOES")]
            public static 
            bool UnmapBuffer(OpenTK.Graphics.ES20.All target)
            {
                #if DEBUG
                using (new ErrorHelper(GraphicsContext.CurrentContext))
                {
                #endif
                return Core.UnmapBufferOES((OpenTK.Graphics.ES20.All)target);
                #if DEBUG
                }
                #endif
            }

        }

    }
}
